csv到xlsx - 导入时总是空白?

时间:2014-05-11 20:03:04

标签: python csv xlsx python-3.4 xlsxwriter

尝试将csv转换为xlsx以供稍后操作。但无论我做什么它总是空白(创建xlsx并添加工作表名称,但没有数据出现)

真的很困惑,尝试各种各样。以下是我用过的最完整的代码。

import csv
from xlsxwriter.workbook import Workbook

workbook = Workbook("test.xlsx")
worksheet = workbook.add_worksheet("Raw_Data")

with open("C:\Console2\\csv.test",'r') as f:
    reader = csv.reader(f)
    for r, row in enumerate(reader):
        for c, col in enumerate(row):
            worksheet.write(r, c, col)

我不完全理解读取器行之后的位,但似乎我找到的所有相关代码都使用了这个,我试过" for statement"用于编写正常的csv,但也没有用。

编辑 - 问题似乎与读者变量有关,不确定为什么它在其他代码上工作正常。

更新 - 看起来代码覆盖原始csv,不知道为什么,我只是想读取文件并保留内容。

1 个答案:

答案 0 :(得分:1)

您必须关闭workbook才能使其正常运行:

import csv
from xlsxwriter.workbook import Workbook

workbook = Workbook("test.xlsx")
worksheet = workbook.add_worksheet("Raw_Data")

with open("C:\Console2\\csv.test",'r') 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()

有关示例,请参阅here