我已编辑帖子以反映建议的更改。
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
非常感谢任何帮助。
答案 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")
仔细检查您传递的参数是否正确。