[python]df 写入 excel

excel 的写入函数为 pd.DataFrame.to_excel();必须是 DataFrame 写入 excel, 即 Write DataFrame to an excel sheet。

to_excel(self, 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 : ExcelWriter 目标路径
df = pd.read_csv('test.csv')
print(df)

   index  a_name  b_name
0      0       1       3
1      1       2       3
2      2       3       4
  • excel_writer :’excel_output.xls’输出路径
df.to_excel('excel_output.xls')
  • sheet_name :excel 表名命名
    #得到的表名就是’biubiu’
df.to_excel('excel_output.xls',sheet_name='biubiu')
  • na_rep : 缺失值填充 ,可以设置为字符串
df = pd.read_excel('excel_output.xls')
print(df)
   index  a_name  b_name
0      0       1     3.0
1      1       2     3.0
2      2       3     NaN
  • 如果 na_rep 设置为 bool 值,则写入 excel 时改为 0 和 1;也可以写入字符串或数字
    df.to_excel(‘excel_output.xls’,na_rep=True)
df = pd.read_excel('excel_output.xls')
print(df)
   index  a_name  b_name
0      0       1       3
1      1       2       3
2      2       3       1

df.to_excel('excel_output.xls',na_rep=False)

new_df = pd.read_excel('excel_output.xls')
print(new_df)
   index  a_name  b_name
0      0       1       3
1      1       2       3
2      2       3       0

df.to_excel('excel_output.xls',na_rep=11)

last_df = pd.read_excel('excel_output.xls')
print(last_df)
   index  a_name  b_name
0      0       1       3
1      1       2       3
2      2       3      11

  • columns :选择输出的的列存入。
    df.to_excel(‘excel_output.xls’,na_rep=11,columns=[‘index’])
pd.read_excel('excel_output.xls')

   index
0      0
1      1
2      2
  • header : 指定作为列名的行,默认 0,即取第一行,数据为列名行以下的数据;若数据不含列名,则设定 header = None;
df.to_excel('excel_output.xls',na_rep=11,index=False)

pd.read_excel('excel_output.xls')

   index  a_name  b_name
0      0       1       3
1      1       2       3
2      2       3      11

df.to_excel('excel_output.xls',na_rep=11,index=False,header=None)

pd.read_excel('excel_output.xls')

   0  1   3
0  1  2   3
1  2  3  11
  • index:默认为 True,显示 index,当 index=False 则不显示行索引(名字)
    index_label:设置索引列的列名

排版好累 ~