我已经阅读了Can Pandas read and modify a single Excel file worksheet (tab) without modifying the rest of the file?但在这里我的问题是特定于后面提到的布局。
如何使用 Pandas 打开 Excel 文件,进行一些修改,然后将其保存回来:
Filter
在第一行?
这是我尝试过的,这是一个简短的示例(实际上我使用 Pandas 进行了更多处理):
import pandas as pd
df = pd.read_excel('in.xlsx')
df['AB'] = df['A'].astype(str) + ' ' + df['B'].astype(str) # create a new column from 2 others
del df['Date'] # delete columns
del df['Time']
df.to_excel('out.xlsx', index=False)
使用此代码,Filter
删除第一行的宽度并将显示的列宽设置为默认值,这不是很方便(因为我们必须手动为所有列设置正确的宽度)。
最佳答案
如果您使用的是安装了 Excel 的机器,那么我强烈建议您使用灵活的 xlwings API。这回答了你所有的问题。
假设我有一个名为 demo.xlxs
的 Excel 文件。在与我的程序相同的目录中。
app.py
import xlwings as xw # pip install xlwings
import pandas as pd
wb = xw.Book('demo.xlsx')
这将创建一个启动 xl 工作簿实例并打开您的 Excel 编辑器以允许您调用 Python 命令。
假设我们有以下数据框,我们想用它来替换 ID 和 Name 列:
new_name
A John_new
B Adams_new
C Mo_new
D Safia_new
wb.sheets['Sheet1']['A1:B1'].value = df
最后,您可以保存并关闭。
wb.save()
wb.close()
关于python - 使用 Pandas 修改 Excel 文件,布局更改最少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66421693/