使用 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 python 将 tsv 文件转换为 xls/xlsx
xlrd 库不适用于 xlsx 文件。使用 python 将 xlsx 转换为 xls 的任何方法?