Python如何把字典寫入到CSV檔案的方法示例
在實際資料分析過程中,我們分析用Python來處理資料(海量的資料),我們都是把這個資料轉換為Python的物件的,比如最為常見的字典。
比如現在有幾十萬份資料(當然一般這麼大的資料,會用到資料庫的概念,不會去在CPU記憶體裡面執行),我們不可能在Excel裡面用函式進行計算一些值吧,這樣是不現實的。
Excel只適合處理比較少的資料,具有方便快速的優勢
那麼我們假設是這麼多資料,現在我要對這個資料進行解析,轉換,最後資料分析,處理,然後寫入資料到CSV檔案,這樣才達到要求,那麼如何把資料字典寫入到CSV檔案了,我們就來看看。
就把這個專案和我們之前寫過的一個成績計算系統相關聯,記得當時我們是把他寫入為txt檔案,裡面是以字典的方式呈現的,那麼我們現在來改進一下,就是為了把這份分析好的資料,呈現給其他人,比如現在要歸檔把這份資料儲存下來。
首先我們建立了一個函式,專門寫入CSV檔案的這樣一個函式
def csv_writer():
這裡我們首先把我們這份資料的鍵(表頭)給取出來,這裡我們用到了一個遍歷演算法,那麼有的小夥伴就疑問了,為什麼我不手動加入,寫入啊,也就幾行我copy就好了,但是我們考慮一下如果鍵有幾十個的話,我們直接copy是不是顯得有點不自動化了,Python就是可以解決辦公難題,別用一個小時的時間,你只需要1分鐘就好。
a=[] dict=student_infos[0] for headers in sorted(dict.keys()):#把字典的鍵取出來 a.append(headers) header=a#把列名給提取出來,用列表形式呈現
這裡的header是一個列表
這裡我打開了這個檔案,準備寫入,裡面的引數我這裡一一解釋一下。
** a表示以“追加”的形式寫入,如果是“w”的話,表示在寫入之前會清空原檔案中的資料
newline是資料之間不加空行
encoding='utf-8'表示編碼格式為utf-8,如果不希望在excel中開啟csv檔案出現中文亂碼的話,將其去掉不寫也行。
為了不讓pycharm裡面的CSV檔案亂碼,我們這裡用的引數編碼為utf-8
而excel檔案編碼格式是gbk,兩者不相容,建議加上encoding='utf-8'引數。
如果不想excel中的csv檔案亂碼的話,建議將csv檔案以記事本的方式開啟,另存為ANSI格式即可。**
with open('成績更新.csv','a',newline='',encoding='utf-8') as f: writer = csv.DictWriter(f,fieldnames=header) # 提前預覽列名,當下面程式碼寫入資料時,會將其一一對應。 writer.writeheader() # 寫入列名 writer.writerows(student_infos) # 寫入資料 print("資料已經寫入成功!!!")
這裡的字典資料使我們之前記憶體空間裡面已經解析處理好的資料,我這裡最後一行直接用.writerows(字典)寫入,至於表頭,writeheader()寫入就好
其實寫入就是這麼簡單,也解決我們點點點的麻煩!
到此這篇關於Python如何把字典寫入到CSV檔案的方法示例的文章就介紹到這了,更多相關Python字典寫入到CSV 內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!