keepononon_____ 2021-11-04 22:19 采纳率: 77.8%
浏览 62
已结题

python 怎么把一个工作簿的sheet copy到另一个工作簿指定sheet里,不覆盖原来的sheet

请帮忙修改代码,我先创建了一个df的data,然后把它存在了GTS这个工作簿里GTS这个sheet中。我怎么把GTS 这个sheet copy到open- copy的GTS 这个sheet里呢?或者有没有办法不用先把df的data存到GTS 工作簿中,而是直接存到open-copy的GTS 这个sheet中?

```python
df.to_excel('GTS.xlsx',sheet_name='GTS',index=None,header=True)
wb4=load_workbook('GTS.xlsx')
a=wb4['GTS']
wb3 = load_workbook('open - Copy.xlsx')
wb3.create_worksheet(a)
wb3.save('open - Copy.xlsx')

```

  • 写回答

2条回答 默认 最新

  • CSDN专家-HGJ 2021-11-05 01:18
    关注

    如是要在原sheet数据的基础上,在其下方写入另一张表格数据的话,代码可以这么写:

    import openpyxl
    
    x1=openpyxl.load_workbook('t1.xlsx')
    x2=openpyxl.load_workbook('t1_copy.xlsx')
    sx1=x1['Sheet1']
    sx2=x2['Sheet1']
    
    r1=sx1.max_row
    c1 = sx1.max_column
    r2 = sx2.max_row
    c2 = sx2.max_column
    m=[]
    for row in sx1.rows:
        r=[]
        for cell in row:
            r.append(cell.value)
        m.append(r)
    for i in range(1,r1+1):
        for j in range(1,c1+1):
            sx2.cell(i+r2+1,j).value=m[i-1][j-1]# sx2.cell(i+r2+1,j)中的+1,是在原数据下方空一格写入。可根据需要自己设定。
    x2.save('t1_copy.xlsx')
    
    
    

    如有帮助请点采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 1月20日
  • 已采纳回答 1月12日
  • 创建了问题 11月4日

悬赏问题

  • ¥15 mmocr的训练错误,结果全为0
  • ¥15 python的qt5界面
  • ¥15 无线电能传输系统MATLAB仿真问题
  • ¥50 如何用脚本实现输入法的热键设置
  • ¥20 我想使用一些网络协议或者部分协议也行,主要想实现类似于traceroute的一定步长内的路由拓扑功能
  • ¥30 深度学习,前后端连接
  • ¥15 孟德尔随机化结果不一致
  • ¥15 apm2.8飞控罗盘bad health,加速度计校准失败
  • ¥15 求解O-S方程的特征值问题给出边界层布拉休斯平行流的中性曲线
  • ¥15 谁有desed数据集呀