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

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

【问题讨论】:

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

标签: python excel python-2.7 csv


【解决方案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 这不是我的答案。它仅来自stackoverflow。我试图粘贴超链接,但不知何故它没有出现在我的评论中。如果由于某种原因我违反了论坛的任何规则或政策,我真的很抱歉。
  • 有时如果 excel 包含 unicode 字符,您可能需要在创建/打开目标文件时指定编码。
  • 有什么方法可以保持日期格式而不将其转换为日期数字格式,例如43448
  • 此解决方案不再有效。 xlrd 不能再处理 xlsx 了。
猜你喜欢
  • 1970-01-01
  • 2012-08-12
  • 2018-08-08
  • 2020-09-05
  • 2013-07-15
  • 2018-08-27
  • 2023-01-11
  • 2020-05-06
  • 2021-11-26
相关资源
最近更新 更多