0
导入CSV
文件后,输出显示为[['1', '2', '3']]
。我怎样才能确保它作为一个数字导入?Python:我的csv.reader以文本形式导入csv文件
导入CSV
文件后,输出显示为[['1', '2', '3']]
。我怎样才能确保它作为一个数字导入?Python:我的csv.reader以文本形式导入csv文件
使用csv模块reader
函数将从csv文件中读取的行作为字符串列表返回。如果您希望未加引号的数字不会以字符串形式返回,请使用quoting=csv.QUOTE_NONNUMERIC
选项。但是,请注意,此选项将转换为浮动。如果你想处理或显示这些数字为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]]
将照亮看到输入数据和** **代码再现这个而不仅仅是你的结果,并没有别的 – EdChum
'INT(your_list [0] [0]) ' – ForceBru
Thx EdChum。测试文件是简单的csv文件,带有整数的3 * 3矩阵。这里是代码:TST =开放( 'test.csv') 升= [] 用于csv.reader线(tst.readlines()[0:]): l.extend(线) 打印(tst.read()) print(l) – user3376020