Python 将 Excel 个标签转换为 CSV 文件

Python Convert Excel tabs to CSV files

我编辑了 post 以反映建议的更改。

def Excel2CSV(ExcelFile, Sheetname, CSVFile):
    import xlrd
    import csv

    workbook = xlrd.open_workbook('C:\Users\Programming\consolidateddataviewsyellowed.xlsx')
    worksheet = workbook.sheet_by_name (ARC)
    csvfile = open (ARC.csv,'wb')
    wr = csv.writer (csvfile, quoting = csv.QUOTE_ALL)

    for rownum in xrange (worksheet.nrows):
    wr.writerow(
        list(x.encode('utf-8') if type (x) == type (u'') else x
             for x in worksheet.row_values (rownum)))

    csvfile.close()


Excel2CSV("C:\Users\username\Desktop\Programming\consolidateddataviewsyellowed.xlsx","ARC","output.csv")

它显示以下错误。

Traceback (most recent call last):
  File "C:/Programming/ExceltoCSV.py", line 18, in <module>

  File "C:/Programming/ExceltoCSV.py", line 2, in Excel2CSV
import xlrd
ImportError: No module named xlrd

如有任何帮助,我们将不胜感激。

对已编辑代码的响应

No module named xlrd表示你没有安装xlrd库。最重要的是,您需要安装 xlrd 模块。安装模块是初学者 python 用户必须学习的一项重要技能,如果您不精通技术,它可能会有点麻烦。从这里开始。

首先,检查您是否有 pip(用于为 python 安装其他模块的模块)。如果你最近安装了 python 并且有最新的软件,你几乎可以肯定已经有了 pip。如果没有,请在 Whosebug 的其他地方查看详细的操作方法答案: How do I install pip on Windows?

其次,使用pip安装xlrd模块。互联网上已经有大量关于这个主题的教程,所以我不会在这里概述。刚刚 Google: "how to pip install a module on your OS here"

希望对您有所帮助!

旧答案

您的代码看起来不错。这是我 运行 主要使用您编写的代码的测试用例。请注意,我更改了您的函数,以便它使用参数而不是硬编码值。那可能是你的问题所在?

def Excel2CSV(ExcelFile, Sheetname, CSVFile):
    import xlrd
    import csv

    workbook = xlrd.open_workbook (ExcelFile)
    worksheet = workbook.sheet_by_name (Sheetname)
    csvfile = open (CSVFile,'wb')
    wr = csv.writer (csvfile, quoting = csv.QUOTE_ALL)

    for rownum in xrange(worksheet.nrows):
        wr.writerow(
            list(x.encode('utf-8') if type (x) == type (u'') else x
                 for x in worksheet.row_values (rownum)))

    csvfile.close()

Excel2CSV("C:\path\to\XLSXfile.xlsx","Sheet_Name","C:\path\to\CSVfile.csv")

仔细检查您传递的参数是否正确。