打开CSV文件时,整数列被转换为字符串值(“1”、“23”等)。循环将这些值转换回整数的最佳方法是什么?
import csv
with open('C:/Python27/testweight.csv', 'rb') as f:
reader = csv.reader(f)
rows = [row for row in reader if row[1] > 's']
for row in rows:
print row
CSV文件如下:
Account Value
ABC 6
DEF 3
GHI 4
JKL 7
4条答案
按热度按时间n3h0vuf21#
我想这是你想要的:
输出量:
vhipe2zx2#
如果CSV有标题,我建议使用
csv.DictReader
。mzmfm0qo3#
您可以按如下方式迭代所有行:
这将显示:
注意:你的代码正在检查
> 's'
。这将导致你没有得到任何行,因为数字将被视为小于s
。如果你仍然使用Python 2.x,将newline=''
改为'rb'
。bd1hkmkf4#
count = 0 #用于跳过第一行,标题列
使用open(sys.argv[1],“r”)作为t:reader = csv.reader(t)#普通读取器函数