代码之家  ›  专栏  ›  技术社区  ›  vestland

python:如何使用pd.excelwriter将数据写入Excel文件?

  •  0
  • vestland  · 技术社区  · 7 年前

    问题:

    我尝试使用python将数据写入Excel文件,特别是使用 ExcelWriter PY提供的功能 Pandas 如上所述 here in the docs . 我 认为 我已经了解了一些事情,但我只能实现以下两个结果之一:

    1。 如果Excel文件已打开,则拒绝访问权限。

    2。 如果Excel文件已关闭,则代码似乎运行正常,但在执行后尝试打开文件Excel时,会提供以下错误消息:

    由于文件格式或 文件扩展名无效。确认文件没有 已损坏,文件扩展名与文件格式匹配

    有人知道这是怎么回事吗?或者有没有比使用 pd.ExcelWrite ?

    细节:

    目录里有三个文件 C:\pythontest :

    1。 输入文件

    2。 EXELST.XLSM

    1。 Python Test.Py

    input.txt 是包含以下内容的逗号分隔文本文件:

    A,B,C
    1,4,6
    2,5,5
    3,5,6
    

    excelTest.xlsm 是完全空的Excel文件,但名为 Sheet1 .

    pythonTest.py 是一个脚本,我尝试使用python读取txt文件,然后将pandas数据帧写入Excel文件:

    import os
    import pandas as pd
    
    os.getcwd()
    os.chdir('C:/pythonTest')
    os.listdir(os.getcwd())
    
    df = pd.read_csv('C:\\pythonTest\\input.txt')
    
    writer = pd.ExcelWriter('excelTest.xlsm')
    df.to_excel(writer,'Sheet2')
    writer.save()
    

    但正如我所提到的,它失败得惊人。有什么建议吗?

    系统信息:

    Windows 7,64位

    Excel版本1803

    python 3.6.6 anaconda自定义(64位)|

    熊猫0.23.4


    根据注释中的要求编辑1-打印(df)输出:


    enter image description here

    1 回复  |  直到 7 年前
        1
  •  1
  •   Nordle    7 年前

    Pandas要求工作簿名称以.xls或.xlsx结尾。它使用扩展来选择要使用的Excel引擎。

    因此,您遇到的问题是扩展名,由于“扩展名强化”,Excel不会打开这个文件,因为它知道它不包含宏,实际上也不是一个XLSM文件。写信给 excelTest.xlsx 应该工作!