将csv转换为以文本问题形式存储在混合类型数据中的xlsx数字

时间:2019-05-28 22:07:19

标签: python csv xlsxwriter

我有一个很大的数据集,它由单元格中的浮点数,整数和字符串组成。 我的原始数据集是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

1 个答案:

答案 0 :(得分:1)

for循环的第一行将覆盖您使用“ strings_to_numbers”定义的工作簿变量。尝试删除该行,因为它看起来像要将工作表添加到单个工作簿中,对吗?

根据您链接的示例,看起来这只是一个很小的复制/粘贴错误:)。