使用 python 将 XLSX 正确转换为 CSV [关闭]

Posted

技术标签:

【中文标题】使用 python 将 XLSX 正确转换为 CSV [关闭]【英文标题】:Convert XLSX to CSV correctly using python [closed] 【发布时间】:2013-12-04 23:41:50 【问题描述】:

我正在寻找 python 库或任何将 .XLSX 文件转换为 .CSV 文件的帮助。

【问题讨论】:

另一个选项是使用 pandas:df = pd.read_excel("./data.xlsx") 然后df.to_csv("./data.csv", sep=",") Pandas 实际上在后台使用xlrd 【参考方案1】:

使用xlrd 模块读取您的excel,然后您可以使用csv 模块创建您自己的csv。

在命令行中安装 xlrd 模块:

pip install xlrd

Python 脚本:

import xlrd
import csv

def csv_from_excel():
    wb = xlrd.open_workbook('excel.xlsx')
    sh = wb.sheet_by_name('Sheet1')
    your_csv_file = open('your_csv_file.csv', 'w')
    wr = csv.writer(your_csv_file, quoting=csv.QUOTE_ALL)

    for rownum in range(sh.nrows):
        wr.writerow(sh.row_values(rownum))

    your_csv_file.close()

# runs the csv_from_excel function:
csv_from_excel()

【讨论】:

至少在你的例子中使用 xlsx (至少你的有点像它来自其他地方:P)因为这就是被问到的:P @JoranBeasley 这不是我的答案。它仅来自***。我试图粘贴超链接,但不知何故它没有出现在我的评论中。如果由于某种原因我违反了论坛的任何规则或政策,我真的很抱歉。 有时如果 excel 包含 unicode 字符,您可能需要在创建/打开目标文件时指定编码。 有什么方法可以保持日期格式而不将其转换为日期数字格式,例如43448 此解决方案不再有效。 xlrd 不能再处理 xlsx 了。

以上是关于使用 python 将 XLSX 正确转换为 CSV [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

正确将 XLSX 转换为 CSV

使用 python 将 tsv 文件转换为 xls/xlsx

xlrd 库不适用于 xlsx 文件。使用 python 将 xlsx 转换为 xls 的任何方法?

Python将csv转换为xlsx

在 Python pandas 中将 xlsx 文件转换为字典

Python 批量将xls文件转换为xlsx