zoukankan      html  css  js  c++  java
  • python中的数据写入(to_csv)、将结果写入excel多个sheet中(to_excel)

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

    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()
  • 相关阅读:
    给暗黑2佣兵换装备,他/她说的英语是什么?
    为什么“家徒四壁”中的徒是仅仅,只有的意思?
    喜马拉雅几个有意思的订阅内容
    看似最艰苦的道路,长远考虑确是收益最大,实际上最容易的路
    《赠友》--杜运夑
    【Python】由host得到IP
    day31_Hibernate复习_03(补刀)
    day31_Hibernate复习_03
    day31_Hibernate学习笔记_03
    MyEclipse2017 CI 断点无效
  • 原文地址:https://www.cnblogs.com/beyondChan/p/10776345.html
Copyright © 2011-2022 走看看