beyondChan

       很多情况下,大家可能会遇到相同情况,就是现在有一些数据需要保存在某个文件里面,但是后续会不断更新添加新的数据,例如在爬虫的时候,一页一页爬取数据的时候,当然可以将所有页数据先合并到一起,再保存起来,但是也可以通过下文这种方式,输出一页的数据就保存一次,好像有点麻烦哈,但是如果是其他情况的话,可能就会便捷一点,例如数据更新不是很快这种情况等等。

1、引入模块

1 import os    #获取当前工作路径
2 import pandas as pd   #将数据保存至相应文件中

2、将数据保存至制定文件下

1 file = os.getcwd() + \'\\1.csv\'    #保存文件位置,即当前工作路径下的csv文件
2 data = pd.DataFrame({\'a\':[1, 2, 3], \'b\': [4, 5, 6]})  #要保存的数据
3 data.to_csv(file, index=False)   #数据写入,index=False表示不加索引

3、产生新的数据,添加至上述csv文件中已有数据的后面

1 #新数据,与data具有相同的和列与列名
2 data2 = pd.DataFrame({\'a\':[7, 8, 9], \'b\': [1, 2, 3]})
3 #保存至file文件中,index=False表示文件中不添加索引,header=False表示不添加列名,mode=\'a+\'表示在已有数据基础上添加新数据,并不覆盖已有数据
4 data2.to_csv(file, index=False, mode=\'a+\', header=False)

4、将数据保存至同一excel不同sheet中

 直接用pd.to_excel()指定sheet_name时,即使指定sheet_name也没用,后一次的写入数据会覆盖前一次写入的数据,解决方法如下,借助pandas中的ExcelWriter方法;

 1 # 方法1,推荐方法
 2 with pd.ExcelWriter(\'test.xlsx\') as writer:
 3     data.to_excel(writer, sheet_name=\'data\')
 4     data2.to_excel(writer, sheet_name=\'data2\')
 5 
 6 # 写法2
 7 writer = pd.ExcelWriter(\'test.xlsx\')
 8 data.to_excel(writer, sheet_name=\'data\')
 9 data.to_excel(writer, sheet_name=\'data2\')
10 writer.save()
11 writer.close()

 

分类:

技术点:

相关文章: