首頁 >後端開發 >Python教學 >方法範例Python如何把字典寫入到CSV檔的

方法範例Python如何把字典寫入到CSV檔的

coldplay.xixi
coldplay.xixi轉載
2020-08-24 16:49:536939瀏覽

方法範例Python如何把字典寫入到CSV檔的

【相關學習推薦:python教學

在實際資料分析過程中,我們分析用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檔的的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:jb51.net。如有侵權,請聯絡admin@php.cn刪除