版权声明:本文为博主原创文章,未经博主允许不得转载。     https://blog.csdn.net/sinat_29957455/article/details/79059436    
                          
               
1、使用DataFrame的to_csv函数保存文件

在使用DataFrame的to_csv保存文件的时候,会默认使用逗号作为分隔符,如果没有设置行列索引,也没有禁用行列索引保存的话,保存文件的时候,会默认加上由0开始的行列索引。

   
  1.     data = pd.DataFrame(np.arange( 9).reshape( 3, 3))
  2.     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参数可以修改默认保存文件时候的分隔符

   
  1.     data = pd.DataFrame(np.arange( 9).reshape( 3, 3))
  2.     #通过sep参数设置保存文件的分隔符
  3.     data.to_csv( "data.csv",sep= "-")
data.csv
   
  1. -0-1-2
  2. 0-0-1-2
  3. 1-3-4-5
  4. 2-6-7-8
需要注意的是,因为csv文件使用逗号作为分隔符的,上面的文件格式是我用文本编辑器打开的,如果用excel打开data.csv的时候,它不会是每一个数一个格子,而是都在一个格子里面。

2、保存文件不保存行列索引

a、设置行列索引
   
  1.     #通过index参数设置行索引,通过columns参数设置列索引
  2.     data = pd.DataFrame(np.arange( 9).reshape( 3, 3),index=[ "a", "b", "c"],columns=[ "one", "two", "three"])
  3.     data.to_csv( "data.csv")
data.csv
   
  1. ,one,two,three
  2. a, 0, 1, 2
  3. b, 3, 4, 5
  4. c, 6, 7, 8
b、保存文件时不保存行列索引
   
  1.     data = pd.DataFrame(np.arange( 9).reshape( 3, 3))
  2.     #index参数设置为False表示不保存行索引,header设置为False表示不保存列索引
  3.     data.to_csv( "data.csv",index= False,header= False)
data.csv
0,1,2
3,4,5
6,7,8

3、空值的保存

pandas在保存文件的时候,默认会将缺失值保存成空字符串

   
  1.     data = pd.DataFrame([[ 1,np.nan, None],[ 2, None, 3],[ 5,np.nan, 6]])
  2.     #不保存行索引和列索引
  3.     data.to_csv( "data.csv",index= False,header= False)
data.csv
   
  1. 1,,
  2. 2,,3 .0
  3. 5,,6 .0
通过na_rep参数指定字符串来替代空字符串
   
  1.     data = pd.DataFrame([[ 1,np.nan, None],[ 2, None, 3],[ 5,np.nan, 6]])
  2.     #不保存行索引和列索引,使用NULL来替代空字符串
  3.     data.to_csv( "data.csv",index= False,header= False,na_rep= "NULL")
data.csv
   
  1. 1, NULL, NULL
  2. 2, NULL, 3.0
  3. 5, NULL, 6.0