Python数据分析 知识量:13 - 56 - 232
通过Python进行数据分析的结果经常需要保存到Excel格式的文件中,可以使用DataFrame对象的to_excel()函数来实现。
首先就是设置导出的路径,也就是指明导出文件保存到哪里。通过参数excel_writer来设置。
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx") print(df) df.to_excel(excel_writer=r"D:\PythonTestFile\save_excel.xlsx")
运行结果为:
Name Sex Age Chinese English Math 0 Noah male 15 90 50 66 1 Emma female 16 56 56 55 2 Bob male 15 99 84 89 3 Olivia female 17 86 87 44 4 Jeff male 16 48 87 65 5 Liam male 14 55 88 69 6 Sophia female 15 90 66 96 7 Isabella female 16 66 85 55
结果将保存到文件save_excel.xlsx,其内容如下:
注意:如果多次运行该段程序,新的文件会直接覆盖旧文件。但如果导出的文件处于打开状态,再运行时会出错,必须关闭文件后再运行。
Excel文件通常会有多个Sheet,默认的名称是Sheet加数字的形式,例如:Sheet1、Sheet2等。在导出文件时,可以通过参数sheet_name来设置一个其他名称。
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx") print(df) df.to_excel(excel_writer=r"D:\PythonTestFile\save_excel.xlsx",sheet_name='save')
运行后,导出的Excel文件第一个sheet的名称将变为save。
默认导出的Excel文件会在第一列增加一个索引列,从0开始计数,实际上这是没有什么意义的。可以通过将参数index设为False,去除索引列。
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx") print(df) df.to_excel(excel_writer=r"D:\PythonTestFile\save_excel.xlsx",sheet_name='save',index=False)
运行后,Excel文件的内容如下:
数据分析的结果并非全部都需要导出到文件,可以选择要导出的列。通过参数columns来指定导出列即可。
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx") print(df) df.to_excel(excel_writer=r"D:\PythonTestFile\save_excel.xlsx",sheet_name='save',index=False, columns=['Name','Age','English'])
运行结果为:
Name Sex Age Chinese English Math 0 Noah male 15 90 50 66 1 Emma female 16 56 56 55 2 Bob male 15 99 84 89 3 Olivia female 17 86 87 44 4 Jeff male 16 48 87 65 5 Liam male 14 55 88 69 6 Sophia female 15 90 66 96 7 Isabella female 16 66 85 55
运行后,Excel文件的内容如下:
有时需要设置正确的编码格式才能导出准确可读的数据,通过参数encoding来实现。
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx") print(df) df.to_excel(excel_writer=r"D:\PythonTestFile\save_excel.xlsx", sheet_name='save', index=False, columns=['Name','Age','English'], encoding='utf-8')
运行结果会与预料的一样。
对于缺失值,在导出时可以通过参数na_rep来进行填充设置。
import pandas as pd df=pd.read_excel(r"D:\PythonTestFile\exam_nan.xlsx") print(df) df.to_excel(excel_writer=r"D:\PythonTestFile\save_excel.xlsx", sheet_name='save', index=False, encoding='utf-8', na_rep=0)
运行结果为:
Name Sex Chinese English Math 0 Noah male 90.0 50.0 66.0 1 Emma NaN 56.0 56.0 55.0 2 NaN NaN NaN NaN NaN 3 Olivia female 86.0 87.0 NaN 4 Liam male 55.0 NaN 69.0 5 Sophia female 90.0 66.0 96.0 6 Liam male 55.0 NaN 69.0 7 Isabella female NaN 85.0 55.0
运行后,Excel文件的内容如下:
Python中,无穷值使用inf来表示,分为正无穷(inf)和负无穷(-inf)。在导出数据时,可以使用参数inf_rep来填充无穷值,操作方法与处理缺失值一样。
对于多个结果,可以分别将它们导出到不同的Excel文件,也可以导出到同一个Excel文件的不同Sheet中。对于第2种情况,可以通过Pandas的ExcelWriter对象来实现。注意:创建ExcelWriter对象时,如果参数engine选择使用xlsxwriter模块时,需要先安装该模块。
import pandas as pd df1=pd.read_excel(r"D:\PythonTestFile\pinjie1.xlsx") df2=pd.read_excel(r"D:\PythonTestFile\pinjie2.xlsx") print(df1,'\n') print(df2) writer=pd.ExcelWriter(r"D:\PythonTestFile\save_excel.xlsx",engine='xlsxwriter') df1.to_excel(writer,sheet_name='data1') # 将df1写入sheet1 df2.to_excel(writer,sheet_name='data2') # 将df2写入sheet2 writer.save() # 保存读写的内容
运行结果为:
Name Sex Age Chinese English Math 0 Noah male 15 90 50 66 1 Emma female 16 56 56 55 2 Bob male 15 99 84 89 3 Olivia female 17 86 87 44 Name Sex Age Chinese English Math 0 Jeff male 16 48 87 65 1 Bob male 15 99 84 89 2 Olivia female 17 86 87 44 3 Isabella female 16 66 85 55
运行后,Excel文件的内容如下:
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6