问题:读取CSV文件时如何将字符串值转换为整数值?

打开 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

解答

我认为这可以满足您的要求:

import csv

with open('C:/Python27/testweight.csv', 'r', newline='') as f:
    reader = csv.reader(f, delimiter='\t')
    header = next(reader)
    rows = [header] + [[row[0], int(row[1])] for row in reader if row]

for row in rows:
    print(row)

输出:

['Account', 'Value']
['ABC', 6]
['DEF', 3]
['GHI', 4]
['JKL', 7]
Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐