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")
仔细检查您传递的参数是否正确。
我编辑了 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")
仔细检查您传递的参数是否正确。