Python数据分析

Python数据分析 知识量:13 - 56 - 232

12.2 保存为CSV文件><

设置导出路径- 12.2.1 -

Python中将分析结果保存为csv文件时,可以使用to_csv()函数。要设置csv文件的导出路径,需要用到参数path_or_buf。

import pandas as pd
df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx")
print(df)
df.to_csv(path_or_buf=r"D:\PythonTestFile\save_csv.csv")

运行结果为:

       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_csv.csv,其内容使用记事本打开时如下所示:

,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文件时一样,运行以上代码时,需要确保相关csv文件没有处于打开状态。

设置索引- 12.2.2 -

与导出到Excel文件时一样,可以通过将参数index设为False,去除索引列。

import pandas as pd
df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx")
print(df)
df.to_csv(path_or_buf=r"D:\PythonTestFile\save_csv.csv",index=False)

运行后,csv文件的内容如下:

Name,Sex,Age,Chinese,English,Math
Noah,male,15,90,50,66
Emma,female,16,56,56,55
Bob,male,15,99,84,89
Olivia,female,17,86,87,44
Jeff,male,16,48,87,65
Liam,male,14,55,88,69
Sophia,female,15,90,66,96
Isabella,female,16,66,85,55

选择要导出的列- 12.2.3 -

同样可以使用参数columns来设置要导出的列。

import pandas as pd
df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx")
print(df)
df.to_csv(path_or_buf=r"D:\PythonTestFile\save_csv.csv",index=False,
          columns=['Name','Chinese','Math'])

运行结果为:

       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

运行后,csv文件的内容如下:

Name,Chinese,Math
Noah,90,66
Emma,56,55
Bob,99,89
Olivia,86,44
Jeff,48,65
Liam,55,69
Sophia,90,96
Isabella,66,55

设置分隔符- 12.2.4 -

导出的csv文件默认使用逗号作为分隔符,常用的分隔符还有空格、分号、制表符等,可以使用参数sep来设置其他分隔符。

import pandas as pd
df=pd.read_excel(r"D:\PythonTestFile\exam_new.xlsx")
print(df)
df.to_csv(path_or_buf=r"D:\PythonTestFile\save_csv.csv",
          index=False,
          sep=';')

运行后,csv文件的内容如下:

Name;Sex;Age;Chinese;English;Math
Noah;male;15;90;50;66
Emma;female;16;56;56;55
Bob;male;15;99;84;89
Olivia;female;17;86;87;44
Jeff;male;16;48;87;65
Liam;male;14;55;88;69
Sophia;female;15;90;66;96
Isabella;female;16;66;85;55

设置编码格式- 12.2.5 -

使用Python导出csv文件默认的编码格式是utf-8,当数据中含有中文时,最好使用参数encoding将编码格式设置为gbk,以确保csv文件中不会出现乱码。

import pandas as pd
df=pd.read_excel(r"D:\PythonTestFile\exam_chinese.xlsx")
print(df)
df.to_csv(path_or_buf=r"D:\PythonTestFile\save_csv.csv",
          index=False,
          encoding='gbk')

运行结果为

         姓名      性别  年龄  语文  英语  数学
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

运行后,csv文件的内容如下:

姓名,性别,年龄,语文,英语,数学
Noah,male,15,90,50,66
Emma,female,16,56,56,55
Bob,male,15,99,84,89
Olivia,female,17,86,87,44
Jeff,male,16,48,87,65
Liam,male,14,55,88,69
Sophia,female,15,90,66,96
Isabella,female,16,66,85,55

处理缺失值- 12.2.6 -

与导出到Excel文件时一样,导出到csv文件时,对于缺失值,可以通过参数na_rep来进行填充设置。