pandas读取、写入csv数据非常方便,但是有时希望通过excel画个简单的图表看一下数据质量、变化趋势并保存,这时候csv格式的数据就略显不便,因此尝试直接将数据写入excel文件。
pandas可以写入一个或者工作簿,两种方法介绍如下:
1、如果是将整个DafaFrame写入excel,则调用to_excel()方法即可实现,示例代码如下:
# output为要保存的Dataframe
output.to_excel('保存路径 + 文件名.xlsx')
2、有多个数据需要写入多个excel的工作簿,这时需要调用通过ExcelWriter()方法打开一个已经存在的excel表格作为writer,然后通过to_excel()方法将需要保存的数据逐个写入excel,最后关闭writer。
示例代码如下:
# 创建一个空的excel文件
nan_excle = pd.DataFrame()
nan_excel.to_excel(path + filename) # 打开excel
writer = pd.ExcelWriter(path + filename)
#sheets是要写入的excel工作簿名称列表
for sheet in sheets:
output.to_excel(writer, sheet_name=sheet) # 保存writer中的数据至excel
# 如果省略该语句,则数据不会写入到上边创建的excel文件中
writer.save()
注:pandas读出、写入excel数据时依赖通过read_excel、to_excel读出或写入excel时需要xlrd、xlwt库,调用ExcelWriter方法则需要openpyxl库。本人在anaconda prompt中使用conda安装这三个库时没有成功,最后通过pip install命令安装,使用正常。
示例代码:
pip install xlrd
pip install xlwt
pip install openpyxl
2019年8月18日更新:
今天无意中重新安装 xlrd 库发现 conda 已经已经支持 xlrd、xlwt、openpyxl 三个库的安装,遂在此更新说明。