[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:设置索引列的列名
排版好累 ~
也可以列表写入
阅读源码,没有。 只能自己写。。。
to_excel 有没有不覆盖源文件 sheet 数据的方法,比如在源文件中另建一个 sheet 写入数据