导入CSV
文件后,输出显示为[['1', '2', '3']]
。如何确保将其导入为数字?
答案 0 :(得分:3)
使用csv模块reader
函数,从csv文件读取的行将作为字符串列表返回。如果您希望不将不带引号的数字作为字符串返回,请使用quoting=csv.QUOTE_NONNUMERIC
选项。但是,请注意此选项将转换为float。如果您要将这些数字处理或显示为int
s,则必须将其转换为int
。
这是你的csv文件:
1,2,3
4,5,6
7,8,9
假设您想要一个列表输出:
import csv
tst = open('test.csv')
l = []
reader = csv.reader(tst, quoting=csv.QUOTE_NONNUMERIC)
for line in reader:
l.append(line)
print l
收率:
[[1.0, 2.0, 3.0], [4.0, 5.0, 6.0], [7.0, 8.0, 9.0]]
要输出整数,您也可以直接将字符串转换为整数:
l = []
tst = open('test.csv')
reader = csv.reader(tst)
for line in reader:
l.append([int(i) for i in line])
print l
收率:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]