JSm*_*oth 7 python csv string int loops
打开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
Run Code Online (Sandbox Code Playgroud)
CSV文件如下:
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
Run Code Online (Sandbox Code Playgroud)
我认为这可以满足您的需求:
import csv
with open('C:/Python27/testweight.csv', 'rb') as f:
reader = csv.reader(f, delimiter='\t')
header = next(reader)
rows = [header] + [[row[0], int(row[1])] for row in reader]
for row in rows:
print row
Run Code Online (Sandbox Code Playgroud)
输出:
import csv
with open('C:/Python27/testweight.csv', 'rb') as f:
reader = csv.reader(f, delimiter='\t')
header = next(reader)
rows = [header] + [[row[0], int(row[1])] for row in reader]
for row in rows:
print row
Run Code Online (Sandbox Code Playgroud)
如果 CSV 有标题,我建议使用csv.DictReader. 有了这个,你可以:
with open('C:/Python27/testweight.csv', 'rb') as f:
reader = csv.DictReader(f)
for row in reader:
integer = int(row['Name of Column'])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
31660 次 |
| 最近记录: |