本文介绍了是否为多个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 bla
和order_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行的标题?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!