Python 在多张图纸上打印列
使用以下代码,我可以为每个国家/地区创建excel文件,但无法格式化excel列:Python 在多张图纸上打印列,python,excel,pandas,xlsxwriter,Python,Excel,Pandas,Xlsxwriter,使用以下代码,我可以为每个国家/地区创建excel文件,但无法格式化excel列: df=TOT.reset_index() for n, g in df.groupby('Country'): X = n.strip(" ") out_path = "C:/temp/" + n.strip(" ") + ".xlsx" C =TOTSPPerc.reset_index(level=0)[TOTSP.reset_index(level=0).Country==n].dr
df=TOT.reset_index()
for n, g in df.groupby('Country'):
X = n.strip(" ")
out_path = "C:/temp/" + n.strip(" ") + ".xlsx"
C =TOTSPPerc.reset_index(level=0)[TOTSP.reset_index(level=0).Country==n].drop('Country', axis=1)
B =TOTPerc.reset_index(level=0)[TOTPerc.reset_index(level=0).Country==n].drop('Country', axis=1)
A= TOTcntPerc.drop('Country', axis=1)
writer = pd.ExcelWriter(out_path , engine='xlsxwriter')
format2 = workbook.add_format({'num_format': '0%'})
A.to_excel(writer, sheet_name="Country")
B.to_excel(writer, sheet_name="Stores")
C.to_excel(writer, sheet_name="SPs")
writer.save()
print(n)
我需要为创建的每个文件的3张图纸中的每一张设置列B:F
您可以将以下内容添加到每张图纸:
for n, g in df.groupby('Country'):
print (g)
#your code
writer = pd.ExcelWriter(out_path , engine='xlsxwriter')
A.to_excel(writer, sheet_name="Country")
B.to_excel(writer, sheet_name="Stores")
C.to_excel(writer, sheet_name="SPs")
workbook = writer.book
worksheet1 = writer.sheets['Country']
worksheet2 = writer.sheets['Stores']
worksheet3 = writer.sheets['SPs']
format2 = workbook.add_format({'num_format': '0%'})
worksheet1.set_column('B:F', 18, format2)
worksheet2.set_column('B:F', 18, format2)
worksheet3.set_column('B:F', 18, format2)
writer.save()
更具活力的解决方案:
for n, g in df.groupby('Country'):
print (g)
#your code
writer = pd.ExcelWriter(out_path , engine='xlsxwriter')
dfs = [A,B,C]
sheetnames = ['Country','Stores','SPs']
for i, df1 in enumerate(dfs):
df1.to_excel(writer, sheet_name=sheetnames[i])
workbook = writer.book
worksheet1 = writer.sheets[sheetnames[i]]
format2 = workbook.add_format({'num_format': '0%'})
worksheet1.set_column('B:F', 18, format2)
writer.save()
检查-在该页上查找
set_column()
…添加了此项但不起作用:工作表.set_column('A:H',format2)