二十六、结果导出

  • Post author:
  • Post category:其他



目录


一、导出为.xlsx文件


1、设置文件导出路径


2、设置sheet名称


3、设置索引


4、设置要导出的列


5、设置编码格式


6、缺失值处理


二、导出为.csv文件


1、设置文件导出路径


2、设置索引


3、设置要导出的列


4、设置分隔符号


5、缺失值处理


6、设置编码格式


三、将文件导出导多个sheet


一、导出为.xlsx文件

在Excel中要将文件保存为.xlsx格式的文件,直接将文件另存为即可,在另存为时选择Excel工作簿(*.xlsx)格式。如果是将文件导出,那么只有PDF/XPS两种格式可选。

在Python中将文件导出为.xlsx格式,用到的是df.to_Excel()方法。

1、设置文件导出路径

设置文件导出路径就是告诉Python要将这个文件导出导电脑的哪个文件夹里,且导出以后这个文件叫什么,通过调整参数excel_writer的值即可实现。

df.to_excel(excel_writer = r"C:\users\Desktop\测试文档.xlsx")

需要注意的是,如果同一导出文件已经在本地打开,则不能再次运行导出代码,会报错,需要将本地文件关闭后再次运行导出代码,这点类似于在本地修改文件名的操作,如果文件是打开的,即被占用的状态,那么不可以执行修改文件的操作。

2、设置sheet名称

.xlsx格式的文件有多个sheet,sheet的默认命名方式是sheet后加阿拉伯数字,通常从sheet网上递增,我们也可以对默认的sheet名字进行修改,只要修改sheet-name参数即可,具体实现如下所示:

df.to_excel(excel_writer = r"C:\users\Desktop\测试文档.xlsx" ,sheet_name = "测试文档")

运行上面代码以后,导出到本地文件的sheet名字将从原来的sheet1变成测试文档。

3、设置索引

上面导出文件中关于索引的参数都是默认的,也就是没有对索引做什么限制,但我们可以看到index索引使用的是从0开始的默认自然数索引,这种索引是没有意义的,设置参数index=FALSE就可以在导出时把这种索引去掉,具体实现如下所示。

df.to_excel(excel_writer = r"C:\users\Desktop\导出文档.xlsx" ,
sheet_name = "测试文档",
index=false)

4、设置要导出的列

有的时候一个表的列数很多,我们并不需要把所有的列都导出,这个时候就可以通过设置columns参数来指定要导出的列,这和导入时设置只导入部分列的原理类似,代码如下:

df.to_excel(excel_writer = r"C:\users\Desktop\导出文档.xlsx" ,
sheet_name = "测试文档",
index=false,
columns = ["列名1","列名2"])

5、设置编码格式

我们在导入文件时需要设置编码格式,导出文件的时候同样也需要,修改编码格式的参数与导入格式的参数与导入文件时的一致,也使用的encoding,encoding参数值一般选择“utf-8”。

df.to_excel(excel_writer = r"C:\users\Desktop\导出文档.xlsx" ,
sheet_name = "测试文档",
index=false,
encoding = "utf-8")

6、缺失值处理

虽然我们在前面的数据预处理过程中已经处理了缺失值,但是在数据分析过程中也可能会产生一些缺失值,如果在导出的时候,数据表中有缺失值,那么就要对表中的缺失值进行填充,使用的参数为na_rep,具体实现如下所示。

df.to_excel(excel_writer = r"C:\users\Desktop\导出文档.xlsx" ,
sheet_name = "测试文档",
index=false,
encoding = "utf-8",
na_rep = 0 ,#缺失值填充为0
inf_rep = 0 #无穷值填充为0)

二、导出为.csv文件

在Excel中要将文件保存为.csv格式,直接将文件另存为,在另存为时有两种.csv文件可选,这两种文件虽然后缀均为.csv,但是编码方式不同,CSV UTF-8(逗号分隔)(.csv)采用的编码格式是utf-8,而csv(逗号分隔)(.csv)采用的编码格式是gbk编码。

在Python中,将文件导出为.csv文件使用的是to_csv方法。

1、设置文件导出路径

设置.csv文件的导出路径时,与设置.xlsx文件的导出路径一样,但是参数不一样,.csv文件的导出路径需通过path_or_buf参数来设置。

导出.csv文件时的注意事项与导出.xlsx文件时的注意事项一致:如果同一导出文件已经在本地打开,则不能再次运行导出代码,那样会报错,需要将本地文件关闭以后再运行导出代码。

2、设置索引

导出.csv文件时与导出.xlsx文件时对索引的设置是一致的,可以通过设置index参数,让从0开始的默认自然数索引不展示出来。

3、设置要导出的列

导出.csv文件时也可以设置要导出哪些列,用到的参数同样是colums.

4、设置分隔符号

分隔符号就是用来指明导出文件中的字符之间是用什么来分隔的,默认使用逗号来分隔,常用的分隔符号还有空格、制表符、分号等。用参数sep来指明要用的分隔符号。

5、缺失值处理

导出.csv文件时用的缺失值处理方法与导出.xlsx文件时用的缺失值处理方法是一样的,也是通过参数na_rep来指明要用什么填充缺失值。

6、设置编码格式

在Python3中,导出为.csv文件时,默认编码为UTF-8,如果使用默认的UTF-8编码格式,导出的文件在本地电脑打开以后中文会乱码,所以一般使用utf-8-sig或者gbk编码。

三、将文件导出导多个sheet

有的时候一个脚本一次会生成多个文件,可以将多个文件分别导出成多个文件,也可以将多个文件放在一个文件的不同sheet中,这个试试要用Excelwriter()函数将多个文件分别导出到不同sheet中,具体方法如下:

#声明一个读写对象
#Excelpath为文件要存放的路径
writer = pd.excelwriter(excelpath,engine = "xlsxwriter")
#分别将表df1、df2、df3写入Excel中的sheet1、sheet2、sheet3
#并命名为表1、表2、表3
#df1.to_excel(writer,sheet_name = "表1")
#df2.to_excel(writer,sheet_name = "表2")
#df3.to_excel(writer,sheet_name = "表3")

#保留读写的内容
writer.save()



版权声明:本文为m0_61834747原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。