【问题标题】:Python Convert Excel tabs to CSV filesPython 将 Excel 选项卡转换为 CSV 文件
【发布时间】:2016-12-12 07:47:38
【问题描述】:

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 您的方法名称和参数之间的空格是故意的吗?例如。我希望.open_workbook(...) 不是.open_workbook (...)

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


【解决方案1】:

对已编辑代码的响应

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

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

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

希望这会有所帮助!

旧答案

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

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

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

【讨论】:

  • Excel2CSV("C:\Users\R\Desktop\pythontestfile.xlsx","Sheet1","output.csv") 我应该用我的 Excel 工作表位置替换扩展名吗?我从我的脚本中删除了 from os import sys,它仍然运行空白没有错误。
  • 对,将这些输入替换为您的文件位置、工作表名称和输出 csv 文件的名称。请注意,它们是字符串,应该用引号引起来。
猜你喜欢
  • 1970-01-01
  • 2021-11-04
  • 2014-11-19
  • 2016-11-30
  • 1970-01-01
  • 2021-07-21
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
相关资源
最近更新 更多