Python将Excel选项卡转换为CSV文件

时间:2016-08-05 19:58:54

标签: python excel csv character-encoding file-conversion

我已编辑帖子以反映建议的更改。

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

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

对已修改代码的回复

No module named xlrd表示您尚未安装xlrd库。最重要的是,您需要安装xlrd模块。安装模块是初学python用户必须学习的一项重要技能,如果你不懂技术,它可能会有点毛茸茸。这是从哪里开始的。

首先,检查你是否有pip(用于安装python的其他模块的模块)。如果您最近安装了python并拥有最新的软件,那么您几乎肯定已经拥有了pip。如果没有,请参阅stackoverflow上详细的如何回答: How do I install pip on Windows?

其次,使用pip安装xlrd模块。互联网已经有关于这个主题的大量教程,所以我不会在这里概述。只是谷歌:&#34;如何在你的操作系统上安装模块&#34;

希望这有帮助!

旧答案

你的代码看起来很好..这是我运行的测试用例,主要是你写的。请注意,我更改了您的函数,以便它使用参数而不是硬编码值。那可能是你遇到麻烦的地方?

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")

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