Pandas将特定的excel表格合并为一个

k5ifujac  于 2023-03-21  发布在  其他
关注(0)|答案(1)|浏览(131)

我有一个名为output.xlsx的Excel工作表,其中包含多个工作表。
例如,其中的图纸命名为P1P2P3P4
我想做以下几点
a)将工作表P1和工作表P2合并为一个工作表,命名为P1&P2
B)保留output.xlsx中的P3P4表,不作任何更改
c)覆盖相同的文件output.xlsx,但不接触P3P4
所以,我尝试了以下方法

df = pd.concat(pd.read_excel('output.xlsx', sheet_name=['P1','P2']), ignore_index=True)

with pd.ExcelWriter('output.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name="P1&P2",index=False)

但是上面的代码重写了文件并删除了其他表单
如何仅合并工作表P1P2并保持P3P4不变

23c0lvtd

23c0lvtd1#

您可以使用openpyxl代替pandas

from openpyxl import load_workbook

# Load workbook
wb = load_workbook('output.xlsx')

# Copy rows from P2 to P1
for row in wb['P2'].iter_rows(2):  # skip header
    wb['P1'].append([cell. value for cell in row])

# Remove P2
wb.remove(wb['P2'])

# Rename P1 to P1P2
wb['P1'].title = 'P1P2'

# Save to another file, just to be sure
wb.save('output2.xlsx')

相关问题