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 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。