如何将csv文件导入数据数组?

GFL*_*GFL 9 python csv python-2.x

我在脚本中有一行代码,它将文本文件中的数据与值之间的大量空格导入到数组中以供以后使用.

textfile = open('file.txt')
data = []
for line in textfile:
    row_data = line.strip("\n").split()
    for i, item in enumerate(row_data):
        try:
            row_data[i] = float(item)
        except ValueError:
            pass
    data.append(row_data)
Run Code Online (Sandbox Code Playgroud)

我需要将其从文本文件更改为csv文件.我不想只是将此文本更改为逗号分隔(因为如果引号中有些值可以有逗号).幸运的是,我看到有一个我可以导入的csv库可以处理这个问题.

import csv
with open('file.csv', 'rb') as csvfile:
    ???
Run Code Online (Sandbox Code Playgroud)

如何将csv文件加载到数据数组中?

如果它有所不同,这就是数据的使用方式:

row = 0
for row_data in (data):
    worksheet.write_row(row, 0, row_data)
    row += 1
Run Code Online (Sandbox Code Playgroud)

mar*_*eau 16

假设csv文件用逗号分隔,使用csvPython 3中的模块的最简单方法可能是:

import csv

with open('testfile.csv', newline='') as csvfile:
    data = list(csv.reader(csvfile))

print(data)
Run Code Online (Sandbox Code Playgroud)

对于Python 2,用于open('testfile.csv', 'rb')打开文件.


小智 8

您可以使用pandas library或numpy来读取CSV文件.如果你的文件是制表符分隔然后都使用"\ t"来代替逗号sepdelimiter下面的参数.

import pandas as pd 
myFile = pd.read_csv('filepath', sep=',')
Run Code Online (Sandbox Code Playgroud)

要么

 import numpy as np
 myFile = np.genfromtxt('filepath', delimiter=',')
Run Code Online (Sandbox Code Playgroud)