如何将 csv 文件导入数据数组?
How to import a csv-file into a data array?
我在脚本中有一行代码将值之间有很多空格的文本文件中的数据导入数组以备后用。
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)
我需要将其从文本文件更改为 csv 文件。我不想只是将此文本更改为以逗号分隔(因为某些值在引号中可以有逗号)。幸运的是,我看到有一个我可以导入的 csv 库可以处理这个问题。
import csv
with open('file.csv', 'rb') as csvfile:
???
如何将 csv 文件加载到数据数组中?
如果有所不同,这就是数据的使用方式:
row = 0
for row_data in (data):
worksheet.write_row(row, 0, row_data)
row += 1
您可以使用pandas库或numpy来读取CSV文件。如果您的文件是制表符分隔的,则在下面的 sep
和 delimiter
参数中使用 '\t' 代替逗号。
import pandas as pd
myFile = pd.read_csv('filepath', sep=',')
或
import numpy as np
myFile = np.genfromtxt('filepath', delimiter=',')
假设 CSV 文件以逗号分隔,使用 Python3 中的 csv
模块的最简单方法可能是:
import csv
with open('testfile.csv', newline='') as csvfile:
data = list(csv.reader(csvfile))
print(data)
您可以指定其他分隔符,例如制表符,方法是在创建 csv.reader
:
时指定它们
data = list(csv.reader(csvfile, delimiter='\t'))
对于Python 2,使用open('testfile.csv', 'rb')
打开文件。
我认为最简单的方法是通过 Pandas:
import pandas as pd
data = pd.read_csv(FILE).values
这 returns 一个 Numpy 数组,其值来自从 CSV 创建的 DataFrame。请参阅文档 here。
我在脚本中有一行代码将值之间有很多空格的文本文件中的数据导入数组以备后用。
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)
我需要将其从文本文件更改为 csv 文件。我不想只是将此文本更改为以逗号分隔(因为某些值在引号中可以有逗号)。幸运的是,我看到有一个我可以导入的 csv 库可以处理这个问题。
import csv
with open('file.csv', 'rb') as csvfile:
???
如何将 csv 文件加载到数据数组中?
如果有所不同,这就是数据的使用方式:
row = 0
for row_data in (data):
worksheet.write_row(row, 0, row_data)
row += 1
您可以使用pandas库或numpy来读取CSV文件。如果您的文件是制表符分隔的,则在下面的 sep
和 delimiter
参数中使用 '\t' 代替逗号。
import pandas as pd
myFile = pd.read_csv('filepath', sep=',')
或
import numpy as np
myFile = np.genfromtxt('filepath', delimiter=',')
假设 CSV 文件以逗号分隔,使用 Python3 中的 csv
模块的最简单方法可能是:
import csv
with open('testfile.csv', newline='') as csvfile:
data = list(csv.reader(csvfile))
print(data)
您可以指定其他分隔符,例如制表符,方法是在创建 csv.reader
:
data = list(csv.reader(csvfile, delimiter='\t'))
对于Python 2,使用open('testfile.csv', 'rb')
打开文件。
我认为最简单的方法是通过 Pandas:
import pandas as pd
data = pd.read_csv(FILE).values
这 returns 一个 Numpy 数组,其值来自从 CSV 创建的 DataFrame。请参阅文档 here。