Python如何把字典寫入到CSV文件的方法示例
在實(shí)際數(shù)據(jù)分析過(guò)程中,我們分析用Python來(lái)處理數(shù)據(jù)(海量的數(shù)據(jù)),我們都是把這個(gè)數(shù)據(jù)轉(zhuǎn)換為Python的對(duì)象的,比如最為常見的字典。
比如現(xiàn)在有幾十萬(wàn)份數(shù)據(jù)(當(dāng)然一般這么大的數(shù)據(jù),會(huì)用到數(shù)據(jù)庫(kù)的概念,不會(huì)去在CPU內(nèi)存里面運(yùn)行),我們不可能在Excel里面用函數(shù)進(jìn)行計(jì)算一些值吧,這樣是不現(xiàn)實(shí)的。
Excel只適合處理比較少的數(shù)據(jù),具有方便快速的優(yōu)勢(shì)
那么我們假設(shè)是這么多數(shù)據(jù),現(xiàn)在我要對(duì)這個(gè)數(shù)據(jù)進(jìn)行解析,轉(zhuǎn)換,最后數(shù)據(jù)分析,處理,然后寫入數(shù)據(jù)到CSV文件,這樣才達(dá)到要求,那么如何把數(shù)據(jù)字典寫入到CSV文件了,我們就來(lái)看看。
就把這個(gè)項(xiàng)目和我們之前寫過(guò)的一個(gè)成績(jī)計(jì)算系統(tǒng)相關(guān)聯(lián),記得當(dāng)時(shí)我們是把他寫入為txt文件,里面是以字典的方式呈現(xiàn)的,那么我們現(xiàn)在來(lái)改進(jìn)一下,就是為了把這份分析好的數(shù)據(jù),呈現(xiàn)給其他人,比如現(xiàn)在要?dú)w檔把這份數(shù)據(jù)存儲(chǔ)下來(lái)。
首先我們建立了一個(gè)函數(shù),專門寫入CSV文件的這樣一個(gè)函數(shù)
def csv_writer():
這里我們首先把我們這份數(shù)據(jù)的鍵(表頭)給取出來(lái),這里我們用到了一個(gè)遍歷算法,那么有的小伙伴就疑問(wèn)了,為什么我不手動(dòng)加入,寫入啊,也就幾行我copy就好了,但是我們考慮一下如果鍵有幾十個(gè)的話,我們直接copy是不是顯得有點(diǎn)不自動(dòng)化了,Python就是可以解決辦公難題,別用一個(gè)小時(shí)的時(shí)間,你只需要1分鐘就好。
a=[] dict=student_infos[0] for headers in sorted(dict.keys()):#把字典的鍵取出來(lái) a.append(headers) header=a#把列名給提取出來(lái),用列表形式呈現(xiàn)
這里的header是一個(gè)列表
這里我打開了這個(gè)文件,準(zhǔn)備寫入,里面的參數(shù)我這里一一解釋一下。
** a表示以“追加”的形式寫入,如果是“w”的話,表示在寫入之前會(huì)清空原文件中的數(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('成績(jī)更新.csv', 'a', newline='', encoding='utf-8') as f: writer = csv.DictWriter(f, fieldnames=header) # 提前預(yù)覽列名,當(dāng)下面代碼寫入數(shù)據(jù)時(shí),會(huì)將其一一對(duì)應(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í)寫入就是這么簡(jiǎn)單,也解決我們點(diǎn)點(diǎn)點(diǎn)的麻煩!
到此這篇關(guān)于Python如何把字典寫入到CSV文件的方法示例的文章就介紹到這了,更多相關(guān)Python字典寫入到CSV 內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python無(wú)頭爬蟲下載文件的實(shí)現(xiàn)
這篇文章主要介紹了Python無(wú)頭爬蟲下載文件的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04python實(shí)現(xiàn)sqlalchemy的使用概述
SQLAlchemy是Python中最有名的ORM工具,特點(diǎn)是操縱Python對(duì)象而不是SQL查詢,也就是在代碼層面考慮的是對(duì)象,而不是SQL,體現(xiàn)的是一種程序化思維,這樣使得Python程序更加簡(jiǎn)潔易懂,具體內(nèi)容詳情跟隨小編一起看看吧2021-08-08Python一行代碼識(shí)別車牌號(hào)碼實(shí)現(xiàn)示例詳解
這篇文章主要為大家介紹了Python一行代碼識(shí)別車牌號(hào)碼實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03關(guān)于PyTorch中nn.Module類的簡(jiǎn)介
這篇文章主要介紹了關(guān)于PyTorch中nn.Module類的簡(jiǎn)介,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02caffe的python接口繪制loss和accuracy曲線
這篇文章主要為大家介紹了caffe的python接口繪制loss和accuracy曲線示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-06-06Python模塊/包/庫(kù)安裝的六種方法及區(qū)別
這篇文章主要介紹了Python模塊/包/庫(kù)安裝六種方法,通過(guò)實(shí)例代碼給大家介紹了python中模塊、包、庫(kù)的區(qū)別和使用,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-02-02快速解決jupyter notebook啟動(dòng)需要密碼的問(wèn)題
這篇文章主要介紹了快速解決jupyter notebook啟動(dòng)需要密碼的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04