我尝试使用openpyxl将CSV转换为xlsx。转换成功但我注意到数字前面的引号(')。使它成为字符串而不是数字。因为我是python的新手,所以你会感激不尽。
以下是我正在使用的代码:
import os
import glob
import csv
import openpyxl
for csvfile in glob.glob(os.path.join('.', '*.csv')):
wb = openpyxl.Workbook()
ws = wb.active
with open(csvfile, 'rb') as f:
reader = csv.reader(f)
for r, row in enumerate(reader, start = 1):
for c, val in enumerate(row, start = 1):
ws.cell(row = r, column = c).value = val
wb.save(csvfile + '.xlsx')
答案 0 :(得分:0)
CSV文件的最大问题是不包含数据输入,所以一切都是字符串。 openpyxl提供了一个“guess_types”模式,您可以尝试使用它,但我强烈建议您根据自己对文件的了解自行进行类型转换,例如:将第3列和第4列转换为整数,将第6列转换为浮点数。
FWIW你真的不需要for c, val in enumerate(row, start=1)
你可以做ws.append(row)