欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python 修改CSV文件實例詳解

 更新時間:2022年08月26日 10:59:42   作者:盼小輝丶  
這篇文章主要為大家介紹了Python 修改CSV文件實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

前言

由于 CSV 文件僅僅是簡單的文本文件,因此更新 CSV 文件中內(nèi)容的最佳方式是首先讀取文件中的數(shù)據(jù),并將它們處理為 Python 內(nèi)部對象,進(jìn)行更改,然后以相同的格式覆蓋原始數(shù)據(jù)。

Python 修改CSV文件

在本節(jié)中,我們將學(xué)習(xí)如何使用 Python 修改 CSV 文件中的數(shù)據(jù)。

假設(shè)在CSV文件中有以下數(shù)據(jù),其中用戶 '1' 對電影 'Star Wars' 的評分有誤,其實際評分為 7.9,因此需要修改此文件。

User nameMovie namerating
1Star Wars7.8
2Back to Future8
2Batman7.7
3Spy 0078.3

首先,導(dǎo)入 csv 模塊并定義文件名:

>>> import csv
>>> file_name = 'movies_rating.csv'

導(dǎo)入 csv 模塊后,我們從指定 csv 文件中提取所有數(shù)據(jù)。為了便于操作,我們在 with 塊中打開該文件,在文件使用完畢后可以自動關(guān)閉文件句柄。

使用 DictReader 可以非常方便地將數(shù)據(jù)轉(zhuǎn)換為字典列表,其中標(biāo)頭作為鍵,單元格中的內(nèi)容作為值,例如第一行的數(shù)據(jù)被轉(zhuǎn)換為 {'User name': 1, 'Movie name': 'Star Wars', 'rating':7.8}。

然后,我們可以操作和修改格式化后的數(shù)據(jù)。

使用 DictReader 讀取文件的內(nèi)容并將此內(nèi)容轉(zhuǎn)換為數(shù)據(jù)行的列表:

>>> with open(file_name, newline='') as f:
...     data = [row for row in csv.DictReader(f)]
...

檢查獲得的數(shù)據(jù),將文件中第一個評分記錄中的評分?jǐn)?shù)據(jù)從 7.8 修改為 7.9,解決數(shù)據(jù)錯誤問題:

>>> data
[OrderedDict([('User name', '001'), ('Movie name', 'Star Wars'), ('rating', '7.8')]), OrderedDict([('User name', '002'), ('Movie name', 'Back to Future'), ('rating', '8.0')]), OrderedDict([('User name', '002'), ('Movie name', 'Batman'), ('rating', '7.7')]), OrderedDict([('User name', '003'), ('Movie name', 'Spy 007'), ('rating', '8.3')])]
>>> data[0]['rating']
'7.8'
>>> data[0]['rating'] = 7.9

在本節(jié)中,我們通過直接訪問行號來修改數(shù)據(jù),但在通常情況下,我們可能需要首先搜索特定信息,確定相應(yīng)行后再進(jìn)行修改。

再次打開文件并存儲修改后的數(shù)據(jù)記錄:

>>> header = data[0].keys()
>>> with open(file_name, 'w', newline='') as f:
...     writer = csv.DictWriter(f, fieldnames=header)
...     writer.writeheader()
...     writer.writerows(data)
...

數(shù)據(jù)修改后,我們直接覆蓋原文件并使用 DictWriter 存儲數(shù)據(jù)。DictWriter 需要通過聲明字段名 (fieldnames=header) 來定義列上的字段,為了獲得這些字段名,我們可以先讀取其中一行數(shù)據(jù)字典的鍵并將它們存儲在 header 中。

原文件以 w 模式再次打開以覆蓋它。DictWriter 首先使用 writeheader 存儲標(biāo)頭,然后通過調(diào)用 writerows() 一次存儲所有行。我們也可以通過調(diào)用 writerow() 方法每次寫入一行數(shù)據(jù)。

在電子表格軟件中檢查結(jié)果。在下圖中可以看到,該文件使用 WPS 軟件打開顯示,可以看到第一行的評分?jǐn)?shù)據(jù)已經(jīng)被修改:

以上就是Python 修改CSV文件實例詳解的詳細(xì)內(nèi)容,更多關(guān)于Python 修改CSV文件的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • anaconda中安裝的python環(huán)境中沒有pip3的問題及解決

    anaconda中安裝的python環(huán)境中沒有pip3的問題及解決

    這篇文章主要介紹了anaconda中安裝的python環(huán)境中沒有pip3的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-02-02
  • 虛擬環(huán)境及venv和virtualenv的區(qū)別說明

    虛擬環(huán)境及venv和virtualenv的區(qū)別說明

    這篇文章主要介紹了虛擬環(huán)境及venv和virtualenv的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Python 字典(Dictionary)操作詳解

    Python 字典(Dictionary)操作詳解

    這篇文章主要介紹了Python 字典(Dictionary)的詳細(xì)操作方法,需要的朋友可以參考下
    2014-03-03
  • python使用magic模塊進(jìn)行文件類型識別方法

    python使用magic模塊進(jìn)行文件類型識別方法

    今天小編就為大家分享一篇python使用magic模塊進(jìn)行文件類型識別方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 在linux下實現(xiàn) python 監(jiān)控usb設(shè)備信號

    在linux下實現(xiàn) python 監(jiān)控usb設(shè)備信號

    今天小編就為大家分享一篇在linux下實現(xiàn) python 監(jiān)控usb設(shè)備信號,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 如何使用Python讀取xml文件

    如何使用Python讀取xml文件

    這篇文章主要介紹了如何使用Python讀取xml文件,關(guān)于python讀取xml文章很多,但大多文章都是貼一個xml文件,然后再貼個處理文件的代碼希望這篇文章可以更通俗易懂的教如何使用python 來讀取xml 文件
    2023-04-04
  • python之PyAutoGui教你做個自動腳本計算器的方法

    python之PyAutoGui教你做個自動腳本計算器的方法

    這篇文章主要介紹了python之PyAutoGui教你做個自動腳本計算器的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • Python動態(tài)規(guī)劃實現(xiàn)虛擬機(jī)部署的算法思想

    Python動態(tài)規(guī)劃實現(xiàn)虛擬機(jī)部署的算法思想

    這篇文章主要介紹了Python動態(tài)規(guī)劃實現(xiàn)虛擬機(jī)部署的算法思想,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-07-07
  • Python中異常重試的解決方案詳解

    Python中異常重試的解決方案詳解

    這篇文章主要給大家介紹了在Python中異常重試的解決方案,文中介紹的非常詳細(xì),相信對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編一起來看看吧。
    2017-05-05
  • 解決python3 urllib 鏈接中有中文的問題

    解決python3 urllib 鏈接中有中文的問題

    今天小編就為大家分享一篇解決python3 urllib 鏈接中有中文的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07

最新評論