使用pandas對數據進行保存時,可以有兩種形式進行保存
一、對於數據量不是很大的文件,可以放到列表中,進行一次性存儲。
二、對於大量的數據,可以考慮一邊生成,一邊存儲,可以避免開辟大量內存空間,去往列表中存儲數據。
本人才疏學淺,只懂一些表面的東西,如有錯誤,望請指正!
下面通過代碼進行說明
1 import pandas as pd 2 3 4 class SaveCsv: 5 6 def __init__(self): 7 self.clist = [[1,2,3], [4,5,6], [7,8,9]] 8 9 def savefile(self, my_list): 10 """ 11 把文件存成csv格式的文件,header 寫出列名,index寫入行名稱 12 :param my_list: 要存儲的一條列表數據 13 :return: 14 """ 15 df = pd.DataFrame(data=[my_list]) 16 df.to_csv("./Test.csv", encoding="utf-8-sig", mode="a", header=False, index=False) 17 18 def saveAll(self): 19 """ 20 一次性存儲完 21 :return: 22 """ 23 pf = pd.DataFrame(data=self.clist) 24 pf.to_csv("./Test_1.csv", encoding="utf-8-sig", header=False, index=False) 25 26 27 def main(self): 28 nameList = ["beijing", "shanghai", "guangzhou", "shenzhen", "xiongan", "zhengzhou"] 29 # start表示循環從1開始計數 30 for num, data in enumerate(nameList, start=1): 31 if num % 2 == 0: 32 self.savefile(["成功", data, num]) 33 else: 34 self.savefile(["失敗", data, num]) 35 return 0 36 37 if __name__ == '__main__': 38 sc = SaveCsv() 39 sc.main() 40 sc.saveAll()
下面對代碼進行簡單的說明:
savefile:可以通過一邊循環一邊保存到同一個文件上,對於部分參數的含義可以自行百度
saveAll:是通過一次性存儲,將所有數據通過列表一次存儲結束