[英]Python: My csv.reader imports csv file as text
导入CSV
文件后,输出显示为[['1', '2', '3']]
。 如何确保将其作为数字导入?
使用csv模块reader
功能,将从csv文件读取的行作为字符串列表返回。 如果您不希望将未加引号的数字不作为字符串返回,请使用quoting=csv.QUOTE_NONNUMERIC
选项。 但是,请注意,此选项将转换为float。 如果要处理或将这些数字显示为int
则必须将其强制转换为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]]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.