我有一个很大的数据集,它由单元格中的浮点数,整数和字符串组成。 我的原始数据集是csv格式。转换为xlsx时,我得到的数字存储为文本错误。
我已经看到this会在您手动写入单元格时提供脚本。
以及this,其中显示了如何将csv转换为文本。
这是我对两个脚本的拼接:
import csv
import os
import glob
import xlsxwriter
from xlsxwriter import Workbook
workbook = xlsxwriter.Workbook('file.xlsx', {'strings_to_numbers': True})
for csvfile in glob.glob(os.path.join('.', '*.csv')):
workbook = Workbook(csvfile[:-4] + '.xlsx')
worksheet = workbook.add_worksheet()
with open(csvfile, 'rt', encoding='utf8') as f:
reader = csv.reader(f)
for r, row in enumerate(reader):
for c, col in enumerate(row):
worksheet.write(r, c, col)
workbook.close()
这对于解决作为文本问题存储的数字不起作用。这个问题仍然存在。
我要将数字写为数字,因为它会将csv转换为xlsx
答案 0 :(得分:1)
for
循环的第一行将覆盖您使用“ strings_to_numbers”定义的工作簿变量。尝试删除该行,因为它看起来像要将工作表添加到单个工作簿中,对吗?
根据您链接的示例,看起来这只是一个很小的复制/粘贴错误:)。