【问题标题】:Python Win32, how to save an XLS as a CSV?Python Win32,如何将 XLS 保存为 CSV?
【发布时间】:2011-09-05 15:53:03
【问题描述】:

我正在使用 win32com 加载 .xlsx,并希望在完成后将结果另存为 csv。

myworkbook.SaveAs('results.csv')

给我一​​个带有 csv 扩展名的 xlsx 文件。如何保存为实际的 CSV?

【问题讨论】:

    标签: python excel csv win32com


    【解决方案1】:

    认为如果你在文件名之后添加类型,它应该可以工作。 (目前无法测试。)

    我认为 CSV (DOS) 的类型是 24。

    myworkbook.SaveAs('results.csv', 24)
    

    【讨论】:

    • 我认为xlCSV 的值是6。
    【解决方案2】:

    以下是 saveAs 的文档: http://msdn.microsoft.com/en-us/library/bb214129.aspx

    from win32com.client import constants as c
    myWorkBook.SaveAs('results.csv', c.xlCSV)
    

    【讨论】:

    • 如果文件已经存在,则 Excel 将显示一个弹出窗口。有没有办法解决这个问题,或者指示函数总是覆盖?
    • 您可以预先设置xl.DisplayAlerts = False,Excel只会覆盖文件。
    【解决方案3】:

    您必须在文件名之后指定类型。

    对于 CSV,可以使用以下模式:

    xlCSV = 6         # Comma separated value.
    xlCSVMac = 22,    # Comma separated value.
    xlCSVMSDOS = 24,  # Comma separated value.
    xlCSVWindows =23, # Comma separated value.
    

    可用的文件格式可以喜欢here,saveAs方法的规范可以找到here。即使没有python的例子,参数和值也应该是一样的。

    【讨论】:

      【解决方案4】:

      我没有使用过这个库,但可能值得一试:

      http://pypi.python.org/pypi/ooxml

      【讨论】:

      • 我需要加载一个插件,所以常规的 xlsx 解析库是不行的。 win32com 做我需要的,问题是 SaveAs 方法文档字符串不清楚。
      猜你喜欢
      • 2021-01-25
      • 2015-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-13
      • 1970-01-01
      • 2011-06-14
      • 1970-01-01
      相关资源
      最近更新 更多