如何用python跨文档复制数据?

用的是python,
如图,我有两个工作簿,一个老的一个新的,他们每个工作簿第一页表都有内容,

我想用02工作簿第一张表内容覆盖01工作簿中的第一张表的内容,之后在删除02工作簿,该如何操作呢?

img

  • 这有个类似的问题, 你可以参考下: https://ask.csdn.net/questions/7585454
  • 这篇博客你也可以参考下:python 多sheet复杂报表开发
  • 除此之外, 这篇博客: Python笔记中的 将多个数据写入sheet 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • import pandas as pd
    df1 = pd.DataFrame({'a':[3,1],'b':[4,3]})  
    df2 = df1.copy()
    with pd.ExcelWriter(r'C:\Users\mengx\Desktop\output.xlsx') as writer:
        str1 = ['a','b','c','d','e','f','g','h','i',\
                'j','k','l','m','n','o','p','q']
        for i in str1:
            name = str(i)
            df1.to_excel(writer, sheet_name= name)
    writer.save()
    writer.close()
    
    #拆分报表
    import pandas as pd
    df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
    df
    for x,y in df.loc[(df.数量>3),:].groupby('月份',sort=0):
        h=x[0]+x[1]
        pd.DataFrame(y.values,columns=df.columns).to_excel(r'C:\Users\zen\Desktop\拆\/'+h+'.xlsx',index=False)
    
    月份数量
    0五月7
    1六月8
    #总表拆分多个工作簿
    import pandas as pd
    df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx',header=[0,1])
    df
    for x,y in df.groupby(['月份'],sort=0):
        with pd.ExcelWriter(r'C:\Users\zen\Desktop\拆\数据.xlsx',mode='a',engine='openpyxl') as writer:
            pd.DataFrame(y.values,columns=df.columns).to_excel(writer,sheet_name='h')
    
    Unnamed: 0_level_0
    月份数量
    0a一月3
    1b二月4
    2c三月5
    3d四月6
    4b五月7
    #拆分多个工作簿,变成单个表格
    import pandas as pd
    df=pd.read_excel(r'C:\Users\zen\Desktop\拆\数据.xlsx',sheet_name=None)
    df
    for key in df:
         df[key].to_excel(r'C:\Users\zen\Desktop\拆\/'+key+'.xlsx',index=False)
    
    {'b':    类  月份  数量
     0  a  一月   3
     1  b  二月   4
     2  c  三月   5
     3  d  四月   6
     4  b  五月   7,
     'b二月':    类  月份  数量
     0  b  二月   4,
     'c三月':    类  月份  数量
     0  c  三月   5,
     'd四月':    类  月份  数量
     0  d  四月   6,
     'b五月':    类  月份  数量
     0  b  五月   7}
    
    #多个表格写到一个表格多个工作簿
    import pandas as pd
    import glob as glob
    ce=glob.glob(r'C:\Users\zen\Desktop\拆\*.xlsx')
    ce
    import os
    for i in ce:
        df=pd.read_excel(i)
        with pd.ExcelWriter(r'C:\Users\zen\Desktop\数据.xlsx',mode='a',engine='openpyxl') as writer:
            df.to_excel(writer,sheet_name=os.path.basename(i).split('.')[0],index=False)
    
    ['C:\\Users\\zen\\Desktop\\拆\\b.xlsx',
     'C:\\Users\\zen\\Desktop\\拆\\b二月.xlsx',
     'C:\\Users\\zen\\Desktop\\拆\\b五月.xlsx',
     'C:\\Users\\zen\\Desktop\\拆\\c三月.xlsx',
     'C:\\Users\\zen\\Desktop\\拆\\d四月.xlsx']
    
    import pandas as pd
    from openpyxl import load_workbook
    from openpyxl.utils.dataframe import dataframe_to_rows
    df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
    df
    
    
    月份数量
    0五月7
    1六月8
    import pandas as pd
    from openpyxl import load_workbook
    from openpyxl.utils.dataframe import dataframe_to_rows
    df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
    df
    
    月份数量
    0五月7
    1六月8
    #多个工作表写入相同名字表格
    for x,y in df.loc[(df.数量>3),:].groupby('月份',sort=0):
        wbook = load_workbook(r'C:\Users\zen\Desktop\测\/'+x+'.xlsx')
        ws1=wbook.active
        for each in dataframe_to_rows(pd.DataFrame(y.values), index=False, header=False):
            ws1.append(each)
        wbook.save(r'C:\Users\zen\Desktop\测\/'+x+'.xlsx')
    
    import pandas as pd
    df=pd.read_excel(r'C:\Users\zen\Desktop\数据.xlsx')
    df
    
    002
    103
    214
    305
    from openpyxl import load_workbook
    from openpyxl.utils.dataframe import dataframe_to_rows
    wbook = load_workbook(r'C:\Users\zen\Desktop\数据.xlsx')
    
    ws2=wbook['b月']
    i = 4                   #行号
    r=4
    for line in df.values:
        for col in range(0, len(line)):
            ws2.cell(row=i, column=col+4).value = line[col - 1]   #col+数字代表第几列 ,数字与r一样
        i += 1
        r += 1#间隔
    wbook.save(r'C:\Users\zen\Desktop\数据.xlsx')