在Python中从CSV转换为数组

时间:2016-05-11 21:51:09

标签: python csv

我有一个包含以下内容的CSV文件。

console.clear();

我想在Python中将值转换为数组并保持相同的顺序(行和列)。我怎么能做到这一点?

我尝试了不同的功能,但最终错误。

3 个答案:

答案 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。