我有一个包含以下内容的CSV文件。
console.clear();
我想在Python中将值转换为数组并保持相同的顺序(行和列)。我怎么能做到这一点?
我尝试了不同的功能,但最终错误。
答案 0 :(得分:7)
您应该使用csv
模块:
import csv
results = []
with open("input.csv") as csvfile:
reader = csv.reader(csvfile, quoting=csv.QUOTE_NONNUMERIC) # change contents to floats
for row in reader: # each row is a list
results.append(row)
这给出了:
[[0.000264, 0.000352, 8.7e-05, 0.000549],
[0.00016, 0.000223, 1.1e-05, 0.000142],
[0.008853, 0.006519, 0.002043, 0.009819],
[0.002076, 0.001686, 0.000959, 0.003107],
[0.000599, 0.000133, 0.000113, 0.000466],
[0.002264, 0.001927, 0.00079, 0.003815],
[0.002761, 0.00288, 0.001261, 0.006851],
[0.000723, 0.000617, 0.000794, 0.002189]]
答案 1 :(得分:2)
如果您的文件不包含括号
with open('input.csv') as f:
output = [float(s) for line in f.readlines() for s in line[:-1].split(',')]
print(output);
答案 2 :(得分:2)
创建csv
模块就是为了做到这一点。该模块的以下实现直接来自Python docs。
import csv
with open('file.csv','rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',', quotechar='|')
for row in reader:
#add data to list or other data structure
分隔符是分隔数据条目的字符,而quotechar是quotechar。