pandas保存文件
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_29957455/article/details/79059436
1、使用DataFrame的to_csv函数保存文件
在使用DataFrame的to_csv保存文件的时候,会默认使用逗号作为分隔符,如果没有设置行列索引,也没有禁用行列索引保存的话,保存文件的时候,会默认加上由0开始的行列索引。
-
data = pd.DataFrame(np.arange(
9).reshape(
3,
3))
-
data.to_csv(
"data.csv")
data.csv ,0,1,2
0,0,1,2
1,3,4,5
2,6,7,8
通过设置to_csv函数的sep参数可以修改默认保存文件时候的分隔符
-
data = pd.DataFrame(np.arange(
9).reshape(
3,
3))
-
#通过sep参数设置保存文件的分隔符
-
data.to_csv(
"data.csv",sep=
"-")
data.csv
-
-0-1-2
-
0-0-1-2
-
1-3-4-5
-
2-6-7-8
需要注意的是,因为csv文件使用逗号作为分隔符的,上面的文件格式是我用文本编辑器打开的,如果用excel打开data.csv的时候,它不会是每一个数一个格子,而是都在一个格子里面。 2、保存文件不保存行列索引
a、设置行列索引
-
#通过index参数设置行索引,通过columns参数设置列索引
-
data = pd.DataFrame(np.arange(
9).reshape(
3,
3),index=[
"a",
"b",
"c"],columns=[
"one",
"two",
"three"])
-
data.to_csv(
"data.csv")
data.csv
-
,one,two,three
-
a,
0,
1,
2
-
b,
3,
4,
5
-
c,
6,
7,
8
b、保存文件时不保存行列索引
-
data = pd.DataFrame(np.arange(
9).reshape(
3,
3))
-
#index参数设置为False表示不保存行索引,header设置为False表示不保存列索引
-
data.to_csv(
"data.csv",index=
False,header=
False)
data.csv 0,1,2
3,4,5
6,7,8
3、空值的保存
pandas在保存文件的时候,默认会将缺失值保存成空字符串
-
data = pd.DataFrame([[
1,np.nan,
None],[
2,
None,
3],[
5,np.nan,
6]])
-
#不保存行索引和列索引
-
data.to_csv(
"data.csv",index=
False,header=
False)
data.csv
-
1,,
-
2,,3
.0
-
5,,6
.0
通过na_rep参数指定字符串来替代空字符串
-
data = pd.DataFrame([[
1,np.nan,
None],[
2,
None,
3],[
5,np.nan,
6]])
-
#不保存行索引和列索引,使用NULL来替代空字符串
-
data.to_csv(
"data.csv",index=
False,header=
False,na_rep=
"NULL")
data.csv
-
1,
NULL,
NULL
-
2,
NULL,
3.0
-
5,
NULL,
6.0