Python 将 csv 转换为 xlsx

新手上路,请多包涵

这篇文章 中有一个从 csv 转换为 xls 的 Python 示例。

但是,我的文件有超过 65536 行,所以 xls 不起作用。如果我将文件命名为 xlsx,那也没有什么不同。是否有转换为 xlsx 的 Python 包?

原文由 user670186 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 358
2 个回答

下面是一个使用 xlsxwriter 的例子:

 import os
import glob
import csv
from xlsxwriter.workbook import Workbook

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()

仅供参考,还有一个名为 openpyxl 的包,可以读取/写入 Excel 2007 xlsx/xlsm 文件。

原文由 alecxe 发布,翻译遵循 CC BY-SA 4.0 许可协议

用我的图书馆 pyexcel

  $ pip install pyexcel pyexcel-xlsx

您可以在一个命令行中完成:

 from pyexcel.cookbook import merge_all_to_a_book
# import pyexcel.ext.xlsx # no longer required if you use pyexcel >= 0.2.2
import glob

merge_all_to_a_book(glob.glob("your_csv_directory/*.csv"), "output.xlsx")

每个 csv 都有自己的工作表,名称将是它们的文件名。

原文由 chfw 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏