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()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM