如何使用csv
['20150101','2','1']
['20150102','10','3']
['20150103','4','2']
['20150104','5','4']
['20150105','12','6']
....
可以使用基本for
,len()
和range()
函数进行迭代,同时采用其原始格式(或接近其原始格式)不使用转换为列表?
我尝试过:
我在CSV文件上尝试len()
,我遇到了两个不同的错误:
TypeError: object of type '_io.TextIOWrapper' has no len() # without using csv module
TypeError: object of type '_csv.reader' has no len() # using csv module
即使我使用基本功能,如:
for i, n in enumerate(r):
print(r[n])
我会收到这样的错误:
TypeError: '_csv.reader' object is not subscriptable
答案 0 :(得分:0)
希望这会澄清它是如何运作的。如果你的代码在csv中,它将迭代每一行。因此,如果询问整行的长度(每行3个元素),每行的长度将为3。这就是您需要在特定行中指定要知道的项目的原因。它也需要''在返回长度时考虑到。
import csv
with open('test.csv', 'rb') as csvfile:
reader = csv.reader(open("test.csv", 'rU'))
for i in reader:
var1 = i[0]
var2 = i[1]
var3 = i[2]
print len(var1), len(var2), len(var3)
这将返回
11 3 4
11 4 4
11 3 4
11 3 4
11 4 4