为了账号安全,请及时绑定邮箱和手机立即绑定

Python将csv转换为xlsx

Python将csv转换为xlsx

天涯尽头无女友 2019-10-28 10:05:43
在这篇文章中有一个Python示例,可以将csv转换为xls。但是,我的文件有超过65536行,因此xls不起作用。如果我将文件命名为xlsx,则没有任何区别。是否有Python包可转换为xlsx?
查看完整描述

3 回答

?
拉丁的传说

TA贡献1789条经验 获得超8个赞

在我的图书馆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将有其自己的工作表,并且名称将是其文件名。


查看完整回答
1 反对 回复 2019-10-28
  • 慕无忌1110417
    慕无忌1110417
    请教: 试了几个简单的程序都会出现以下错误,不知道问题在哪。 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb1 in position 0: invalid start byte
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

这是使用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文件。


希望能有所帮助。


查看完整回答
反对 回复 2019-10-28
  • 3 回答
  • 0 关注
  • 3311 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信