Pandas詳解二十四之寫入CSV Excel檔案

2021-08-22 04:25:36 字數 2534 閱讀 7240

約定:

import pandas as pd

import numpy as np

import sys

寫入csv檔案是最常用的,csv檔案預設用』,』作為分隔符。

df1.to_csv(path_or_buf=none, sep=』,』, na_rep=」, float_format=none, columns=none, header=true, index=true, index_label=none, mode=』w』, encoding=none)

常用引數解釋:

path_or_buf:檔名、檔案具體、相對路徑、檔案流等

sep:檔案分割符號

na_rep:將nan轉換為特定值

columns:選擇部分列寫入

header:忽略列名

index:false則選擇不寫入索引

df1=pd.dataframe()

print(df1)

**結果:

a  b       c

0 0 a red

1 1 b nan

2 2 c yellow

1 寫入時指定分隔符

to_csv()的sep預設為』,』,可指定任意字元作為分隔符

df1.to_csv(sys.stdout,sep='-')
**結果:

-a-b-c

0-0-a-red

1-1-b-

2-2-c-yellow

2 將nan轉為特定字串

寫入時nan會被表示為空字串,我們可能希望用其他值代替

df1.to_csv(sys.stdout,na_rep='null')
**結果:

,a,b,c

0,0,a,red

1,1,b,null

2,2,c,yellow

3 不寫入列名

df1.to_csv(sys.stdout,header=none)
**結果:

0,0,a,red

1,1,b,

2,2,c,yellow

4 不寫入索引

df1.to_csv(sys.stdout,index=false)
**結果:

a,b,c

0,a,red

1,b,

2,c,yellow

5 保留部分列且排序

df1.to_csv(sys.stdout,columns=['b','a'])
**結果:

,b,a

0,a,0

1,b,1

2,c,2

對比寫入csv檔案,寫入excel檔案不同的就是,當需要寫入多個sheet時,則需要在寫入前建立乙個excel檔案。

df1.to_excel(excel_writer, sheet_name=』sheet1』, na_rep=」, float_format=none, columns=none, header=true, index=true, index_label=none, startrow=0, startcol=0, engine=none, merge_cells=true, encoding=none, inf_rep=』inf』, verbose=true, freeze_panes=none)

常用引數解釋:

excel_writer:檔名、檔案具體、相對路徑、檔案物件等

sheet_name:寫入時設定sheetname,預設為』sheet1』

sep:檔案分割符號

na_rep:將nan轉換為特定值

columns:選擇部分列寫入

header:忽略列名

index:false則選擇不寫入索引

1 寫入單個sheet**

只能寫入乙個sheet**,多次寫入則會清除excel檔案中的內容

df1.to_excel('df1.xlsx')
2 指定sheetname

df1.to_excel('df1.xlsx',sheet_name='df1')
3 同乙個excel檔案寫入多個sheet**

寫入多個表時,需要用到pd.excelwriter()開啟乙個excel檔案

work=pd.excelwriter('df2.xlsx')

df1.to_excel(work,sheet_name='df2')

df1['a'].to_excel(work,sheet_name='df3')

謝謝大家的瀏覽,

希望我的努力能幫助到您,

共勉!

初學Java,jar命令詳解 二十四

jar檔案是個壓縮包,其實就是乙個類庫,相當於.net世界裡面的dll,裡面放的都是編譯編碼後生成的位元組碼檔案 class 另外會有乙個清單檔案meta inf manifest.mf 其檔案也是可以數字簽名的,所謂增強安全性羅。下面羅列一些jar命令 建立 jar檔案jar cf test.ja...

初學Java,jar命令詳解 二十四

jar檔案是個壓縮包,其實就是乙個類庫,相當於.net世界裡面的dll,裡面放的都是編譯編碼後生成的位元組碼檔案 class 另外會有乙個清單檔案meta inf manifest.mf 其檔案也是可以數字簽名的,所謂增強安全性羅。下面羅列一些jar命令 建立 jar檔案jar cf test.ja...

Flask之單元測試(二十四)

參考文件 flask之單元測試 def num div num1,num2 assert 斷言 後面是乙個表示式,如果表示返回真,則斷言成功,程式能夠繼續往下執行 如果表示式返回的是假,則斷言失敗,assert會丟擲異常assertionerror,終止程式繼續往下執行 assert isinsta...