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

我已编辑post以反映build议的更改。

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用户必须学习的一项重要技能,如果您不熟悉技术,可能会有点毛病。 这是从哪里开始的。

首先,检查你是否有点(一个模块用于安装其他模块的Python)。 如果你最近安装了python,并有最新的软件,你几乎肯定已经有点子。 如果没有,请参阅这个详细的指导如何在Windows上的其他地方回答: 如何在Windows上安装点子?

其次,使用pip来安装xlrd模块。 互联网已经有了一个关于这个主题的教程,所以我不会在这里概述。 只是谷歌:“如何在您的操作系统点这里安装一个模块”

希望这可以帮助!

老答案

你的代码看起来不错。下面是我使用的大部分testing用例。 请注意,我改变了你的函数,以便它使用参数而不是硬编码的值。 那可能是你麻烦的地方?

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

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