从csv中读取列表,len仅显示一项

时间:2019-02-07 14:36:45

标签: python csv

这是csv文件中的唯一行:

0.0028,0.008,0.0014,0.008,0.0014,0.008,0.0014,0.008,0.0014,0.008,0.0028,0.0

我想将其读入列表并计算项目数。

import csv
with open('StackupThick.csv', 'r') as infile:
    reader = csv.reader(infile, delimiter=',')
    mylist = list(reader)
    print(mylist)
    print(len(mylist))

但是,打印输出如下:

[['0.0028', '0.008', '0.0014', '0.008', '0.0014', '0.008', '0.0014', '0.008', '0.0014', '0.008', '0.0028', '0.0']]
1

困扰我的是双括号,而len只返回一个。 它不应该只有一个而不是两个吗?伦不应该返回12吗?

2 个答案:

答案 0 :(得分:0)

csv.reader返回一个对象,该对象允许在CSV的上进行迭代。您的文件有1行。如果要遍历一行中的列,可以执行以下操作:

reader = csv.reader(infile, delimiter=',')
for row in reader:
    print(row)

答案 1 :(得分:0)

您需要遍历文件的各行:

import csv
with open('StackupThick.csv', 'r') as infile:
    reader = csv.reader(infile, delimiter=',')
    for row in reader:
        print(row)
        print(len(row))

哪个给:

['0.0028', '0.008', '0.0014', '0.008', '0.0014', '0.008', '0.0014', '0.008', '0.0014', '0.008', '0.0028', '0.0']
12

看看here