pandas:多個dataframe寫入同一個excel, html

1,dataframe 寫入excel:

多個dataframe需要寫入同一個excel時,每次使用df.to_excel(文件名)的形式去寫,系統都會重新創建一個新的文件。也就意味着前面的文件會被覆蓋掉,你得到的只能是最後一個df寫入的結果文件

通過創建一個ExcelWriter對象,可以解決上面的問題

writer = pd.ExcelWriter(os.path.join(os.getcwd(), '自定義.xlsx'))
df1.to_excel(writer, sheet_name='自定義sheet_name')#startcol=**, startrow=**)
df2.to_excel(writer, sheet_name='自定義sheet_name')#startcol=**, startrow=**)
df3.to_excel(writer, sheet_name='自定義sheet_name')#startcol=**, startrow=**)
...


writer.save()# 寫入硬盤

# 不傳sheet_name參數時,默認多個dataframe會寫入同一個xlsx文件的同一個sheet裏
# 不傳sheet_name參數時,多個dataframe會寫入同一個xlsx文件的不同sheet裏

# startrow, startcol 不傳時默認dataframe在excel裏在sheet1裏其實行列都是一,
# 需注意,python和excel的索引起始數字不同,如果startrow=2, startcol=4,不是從第二行第四列開始寫,而是從第三行第五列開始寫

 

2,dataframe寫入html:

多個dataframe需要寫入同一個html時:

HEADER = '''
    <html>
        <head>
            <meta charset="UTF-8">
        </head>
        <body>
    '''
FOOTER = '''
        </body>
    </html>
    '''

with open(os.path.join(os.getcwd(), '自定義文件名.html'), 'w') as f:
    f.write(HEADER)
    for df in [df1, df2, df3...]:
        #f.write('<h1><strong>' + '自定義dataframe名' +'</strong></h1>')
        f.write(df.to_html(classes='自定義classname'))
    f.write(FOOTER)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章