是否为多个EXCEL工作表保留N、N+1行的文本和N+2行的标题? [英] Retain text at N, N+1 and header at N+2th row for multiple excel sheets?

查看:0
本文介绍了是否为多个EXCEL工作表保留N、N+1行的文本和N+2行的标题?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有如下所示的数据帧

SHEET SUBJECT Listings for 2010 hi bla bla,,,,,,
order_number,,,,,,
Date,cust,region,Abr,Number,         
12/01/2010,Company_Name,Somecity,Chi,36,
12/02/2010,Company_Name,Someothercity,Nyc,156,

df = pd.read_clipboard(sep=',')

从上面的数据框可以看到,前两行(narrative text)只是描述,但标题/列名称从第一行索引开始

因此,我尝试了以下方法

df.columns = df.iloc[1] #assign actual column headers
df.drop(index=[0,1], inplace = True) #drop the actual column header row and also narrative text line from dataframe
# do some manipulation of data below (thanks to jezrael for the below code)
writer = pd.ExcelWriter('duck_data.xlsx',engine='xlsxwriter')
for (cust,reg), v in df.groupby(['cust','region']):
    v.to_excel(writer, sheet_name=f"DATA_{cust}_{reg}",index=False)   
writer.save()

以上只有在只有标题时才能正常工作,问题是无法在我的输出EXCEL文件中保留叙述性文本(例如:SHEET SUBJECT Listings for 2010 hi bla blaorder_number,,,,,,(duck_data.xlsx)

如何在duck_data.xlsx(输出文件)的每个工作表中保留这两个叙述性文本,并存储EXCEL文件第三个单元格的列标题?

我希望我的输出如下所示。您可以看到,输出EXCEL文件的两个工作表中的数据不同,但我始终保留了输出EXCEL文件的所有工作表的叙述性文本、标题。

是否可以根据生成的图纸数量将此文本复制到每个图纸上?是否有其他方法/想法将这些文本保留在每张工作表中?

推荐答案

使用:

#add text to variable from first column in original DataFrame 
text = df.columns[0]
#add order no to variable by first value of first column
order_no = df.iloc[0,0]
df.columns = df.iloc[1] #assign actual column headers
df.drop(index=[0,1], inplace = True)

writer = pd.ExcelWriter('duck_data.xlsx',engine='xlsxwriter')
for (cust,reg), v in df.groupby(['cust','region']):
    #strating row for write data is 2 (changed default 0)
    v.to_excel(writer, sheet_name=f"DATA_{cust}_{reg}", index=False, startrow = 2)   
    workbook = writer.book
    worksheet = writer.sheets[f"DATA_{cust}_{reg}"]
    #to first cell in excel write text variable
    worksheet.write(0, 0, text)
    worksheet.write(1, 0, order_no)
writer.save()

这篇关于是否为多个EXCEL工作表保留N、N+1行的文本和N+2行的标题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆