【问题标题】:How to open, delete columns and save a xls file in python如何在 python 中打开、删除列和保存 xls 文件
【发布时间】:2020-07-12 01:20:07
【问题描述】:

我需要知道如何打开已经制作的 xls 文件,我想删除一些列然后保存文件。这就是我所拥有的,但是当我想删除列时出现错误。如何使用DataFrame函数删除列然后保存。

读取excel文件

Workbook = xlrd.open_workbook("C:/Python/Python37/Files/firstCopy.xls", on_demand=True)
worksheet = Workbook.sheet_by_name("Sheet1")

删除列

df.DataFrame.drop(['StartDate', 'EndDate', 'EmployeeID'], axis=1, inplace=True)
Workbook.save('output.xls')

【问题讨论】:

  • df.DataFrame.drop(...) 看起来像畸形的 Pandas 代码,与 xlrd 相关的其他 3 行代码无关。您是否尝试将数据加载到 Pandas DataFrame 中、对其进行修改并将其保存回 Excel?否则,您应该将 Pandas 排除在外。
  • 是的,我正在使用 pandas 删除列。但据我了解,pandas 不适用于 xls。我不知道如何用 xlrd 删除列。

标签: python excel pandas


【解决方案1】:

如果没有看到您的数据集和错误,就很难知道发生了什么。请参阅How to Askhow to create a Minimal, Complete, and Verifiable example

以下是我的建议:

import pandas as pd

df = pd.read_excel('firstCopy.xls')

df.drop(['StartDate', 'EndDate', 'EmployeeID'], axis=1)
writer = pd.ExcelWriter('output.xlsx')

df.to_excel(writer,'Sheet1')
writer.save()

【讨论】:

  • 我试过了,但它仍然没有删除我需要删除的 3 列。他们仍然出现。就我所知,df.drop 完全删除了列。我确实将文件更改为完整的位置('C:/Python/Python37/Files/output.xlsx')
  • 在axis=1之后添加inplace=True
【解决方案2】:
import pandas as pd

df = pd.read_excel('firstCopy.xls')

df.drop(['StartDate', 'EndDate', 'EmployeeID'], axis=1, inplace = True)

writer = pd.ExcelWriter('output.xlsx')

df.to_excel(writer,'Sheet1')

writer.save()

【讨论】:

    猜你喜欢
    • 2014-10-21
    • 2017-04-17
    • 1970-01-01
    • 2021-11-24
    • 2021-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多