繁体   English   中英

如何使用 Pandas 在多表 Excel 工作簿中用新数据框覆盖现有工作表?

[英]How to overwrite existing worksheet with new dataframe in a multisheet Excel workbook using Pandas?

我有一个包含多张纸的xlsx文件: sheet1, sheet2, sheet3

# Clean up header issues:
xl = pd.ExcelFile(file)
sheets = xl.sheet_names
for i in sheets:
    df = xl.parse(i)
    df = df[df['Symbol'] != 'Symbol']
    df.reset_index(drop=True, inplace=True)

在上面,我试图删除多个标题行,然后我想将数据帧覆盖到同一个文件中。

我正在查看文档,似乎无法找到一个简单的解决方案,我可以让它以迂回的方式工作。 有没有一种直接的方法可以做到这一点?

Pandas 有一个 read_excel 函数,它还为您提供指定工作表名称的选项。 你可以这样做:

import pandas as pd

file = r'C:\...\file.xlsx' #wherever your excel file is
sheets = ['sheet1', 'sheet2'] # whatever and however many you have
df = {}
for sheet in sheets:
    df[sheet] = pd.read_excel(file, sheet_name=sheet)
    df[sheet] = df[sheet][df[sheet]['Symbol'] != 'Symbol']

如果您也想导出它,那么您可以使用 pd.to_excel() 函数添加到 for 循环中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM