Python把字典寫入到CSV文件的方法

小編給大家分享一下Python把字典寫入到CSV文件的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

10年積累的成都網(wǎng)站設(shè)計、成都做網(wǎng)站經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先建設(shè)網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有武勝免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

在實(shí)際數(shù)據(jù)分析過程中,我們分析用Python來處理數(shù)據(jù)(海量的數(shù)據(jù)),我們都是把這個數(shù)據(jù)轉(zhuǎn)換為Python的對象的,比如最為常見的字典。

比如現(xiàn)在有幾十萬份數(shù)據(jù)(當(dāng)然一般這么大的數(shù)據(jù),會用到數(shù)據(jù)庫的概念,不會去在CPU內(nèi)存里面運(yùn)行),我們不可能在Excel里面用函數(shù)進(jìn)行計算一些值吧,這樣是不現(xiàn)實(shí)的。
Excel只適合處理比較少的數(shù)據(jù),具有方便快速的優(yōu)勢
那么我們假設(shè)是這么多數(shù)據(jù),現(xiàn)在我要對這個數(shù)據(jù)進(jìn)行解析,轉(zhuǎn)換,最后數(shù)據(jù)分析,處理,然后寫入數(shù)據(jù)到CSV文件,這樣才達(dá)到要求,那么如何把數(shù)據(jù)字典寫入到CSV文件了,我們就來看看。

就把這個項目和我們之前寫過的一個成績計算系統(tǒng)相關(guān)聯(lián),記得當(dāng)時我們是把他寫入為txt文件,里面是以字典的方式呈現(xiàn)的,那么我們現(xiàn)在來改進(jìn)一下,就是為了把這份分析好的數(shù)據(jù),呈現(xiàn)給其他人,比如現(xiàn)在要?dú)w檔把這份數(shù)據(jù)存儲下來。

首先我們建立了一個函數(shù),專門寫入CSV文件的這樣一個函數(shù)

def csv_writer():

這里我們首先把我們這份數(shù)據(jù)的鍵(表頭)給取出來,這里我們用到了一個遍歷算法,那么有的小伙伴就疑問了,為什么我不手動加入,寫入啊,也就幾行我copy就好了,但是我們考慮一下如果鍵有幾十個的話,我們直接copy是不是顯得有點(diǎn)不自動化了,Python就是可以解決辦公難題,別用一個小時的時間,你只需要1分鐘就好。

a=[]
  dict=student_infos[0]
  for headers in sorted(dict.keys()):#把字典的鍵取出來
    a.append(headers)
  header=a#把列名給提取出來,用列表形式呈現(xiàn)

這里的header是一個列表

這里我打開了這個文件,準(zhǔn)備寫入,里面的參數(shù)我這里一一解釋一下。

** a表示以“追加”的形式寫入,如果是“w”的話,表示在寫入之前會清空原文件中的數(shù)據(jù)
newline是數(shù)據(jù)之間不加空行
encoding='utf-8'表示編碼格式為utf-8,如果不希望在excel中打開csv文件出現(xiàn)中文亂碼的話,將其去掉不寫也行。
為了不讓pycharm里面的CSV文件亂碼,我們這里用的參數(shù)編碼為utf-8
而excel文件編碼格式是gbk,兩者不兼容,建議加上encoding='utf-8'參數(shù)。
如果不想excel中的csv文件亂碼的話,建議將csv文件以記事本的方式打開,另存為ANSI格式即可。**

with open('成績更新.csv', 'a', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=header) # 提前預(yù)覽列名,當(dāng)下面代碼寫入數(shù)據(jù)時,會將其一一對應(yīng)。
    writer.writeheader() # 寫入列名
    writer.writerows(student_infos) # 寫入數(shù)據(jù)
  print("數(shù)據(jù)已經(jīng)寫入成功?。?!")

這里的字典數(shù)據(jù)使我們之前內(nèi)存空間里面已經(jīng)解析處理好的數(shù)據(jù),我這里最后一行直接用.writerows(字典)寫入,至于表頭,writeheader()寫入就好

其實(shí)寫入就是這么簡單,也解決我們點(diǎn)點(diǎn)點(diǎn)的麻煩!

Python把字典寫入到CSV文件的方法

Python把字典寫入到CSV文件的方法

以上是Python把字典寫入到CSV文件的方法的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站名稱:Python把字典寫入到CSV文件的方法
轉(zhuǎn)載來于:http://muchs.cn/article10/jeppgo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷關(guān)鍵詞優(yōu)化、域名注冊電子商務(wù)、標(biāo)簽優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司