我有csv数据文件,包含2行标题,行数和列数未知。例如
"x", "y"
"unit x", "unit y"
1, 2
3, 4
我使用以下代码读取csv文件并将其写入xls文件
import csv, xlwt
f = open('example.csv', 'rb')
reader = csv.reader(f)
workbook = xlwt.Workbook()
sheet = workbook.add_sheet("Sheet 1")
for rowi, row in enumerate(reader):
for coli, value in enumerate(row):
sheet.write(rowi,coli,value)
workbook.save("example.xls")
问题是它在xls中将所有数据写为文本。如何将文本转换为数字?我知道前2行是标题,数据从第3行开始到结尾。我怎么能这样做?
答案 0 :(得分:2)
您可以查看您是否在第3行以及将value
转换为int。
for rowi, row in enumerate(reader):
for coli, value in enumerate(row):
if rowi >= 2:
value = int(value)
sheet.write(rowi, coli, value)
您也可以尝试将所有值转换为数字。
for rowi, row in enumerate(reader):
for coli, value in enumerate(row):
try:
value = int(value)
except ValueError as e:
pass
sheet.write(rowi, coli, value)