繁体   English   中英

Python:我的csv.reader以文本形式导入csv文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM