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

在Python中進(jìn)行CSV文件的讀取與寫入操作

 更新時(shí)間:2025年03月09日 15:16:02   作者:climber1121  
本文詳細(xì)介紹了如何在Python中使用csv模塊進(jìn)行CSV文件的讀取和寫入,包括基本用法和高級(jí)功能,如DictWriter和DictReader,以及注意事項(xiàng),需要的朋友可以參考下

1 引言

在數(shù)據(jù)處理和數(shù)據(jù)分析領(lǐng)域,CSV (逗號(hào)分隔值) 文件是一種常見的文件格式,用于存儲(chǔ)表格數(shù)據(jù)。Python 通過內(nèi)置的 csv 模塊提供了對(duì) CSV 文件的讀寫支持,使得處理這種類型的文件變得簡(jiǎn)單高效。本文將詳細(xì)介紹如何在 Python 中進(jìn)行 CSV 文件的讀取和寫入操作。

2 CSV 文件簡(jiǎn)介

CSV 文件是一種簡(jiǎn)單的文本文件,其中的數(shù)據(jù)由逗號(hào)分隔。每行代表一個(gè)數(shù)據(jù)記錄,每個(gè)記錄可以包含多個(gè)字段。CSV 文件被廣泛用于數(shù)據(jù)交換和數(shù)據(jù)存儲(chǔ)。

3 Python 中的 csv 模塊

Python 的 csv 模塊提供了一系列函數(shù)來讀取和寫入 CSV 文件。它可以處理各種類型的 CSV 數(shù)據(jù),包括不同的分隔符和引號(hào)約定。

4 寫入 CSV 文件

4.1 基本用法

import csv

# 數(shù)據(jù)
data = [
    ['Name', 'Age', 'City'],
    ['Alice', 30, 'New York'],
    ['Bob', 25, 'Los Angeles']
]

# 寫入 CSV 文件
with open('example.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data)

4.2 高級(jí)用法

使用 DictWriter 寫入 CSV,提供了字段名的映射。

with open('example.csv', 'w', newline='') as file:
    fields = ['Name', 'Age', 'City']
    writer = csv.DictWriter(file, fieldnames=fields)

    writer.writeheader()
    writer.writerow({'Name': 'Alice', 'Age': 30, 'City': 'New York'})
    writer.writerow({'Name': 'Bob', 'Age': 25, 'City': 'Los Angeles'})

5 讀取 CSV 文件

5.1 基本用法

# 讀取 CSV 文件
with open('example.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)

5.2 高級(jí)用法

使用 DictReader 讀取 CSV,每行數(shù)據(jù)被映射到一個(gè)字典。

with open('example.csv', 'r') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)

6 實(shí)例演示

以下是一個(gè) Python 示例,演示如何使用 csv 模塊來讀取和寫入 CSV 文件。這個(gè)示例將包含兩個(gè)主要部分:一個(gè)用于寫入 CSV 文件的函數(shù)和另一個(gè)用于讀取 CSV 文件的函數(shù)。我們將這些功能封裝在一個(gè)名為 csv_example.py 的 Python 文件中。

# csv_example.py
import csv

def write_csv(file_name, data, field_names=None):
    """ 寫入 CSV 文件 """
    with open(file_name, 'w', newline='', encoding='utf-8') as file:
        if field_names:
            writer = csv.DictWriter(file, fieldnames=field_names)
            writer.writeheader()
            writer.writerows(data)
        else:
            writer = csv.writer(file)
            writer.writerows(data)

def read_csv(file_name):
    """ 讀取 CSV 文件 """
    with open(file_name, 'r', newline='', encoding='utf-8') as file:
        reader = csv.reader(file)
        for row in reader:
            print(row)

def main():
    # CSV 文件名
    file_name = 'example.csv'

    # 數(shù)據(jù) - 字典格式
    data_dict = [
        {'Name': 'Alice', 'Age': 30, 'City': 'New York'},
        {'Name': 'Bob', 'Age': 25, 'City': 'Los Angeles'}
    ]

    # 數(shù)據(jù) - 列表格式
    data_list = [
        ['Name', 'Age', 'City'],
        ['Alice', 30, 'New York'],
        ['Bob', 25, 'Los Angeles']
    ]

    # 寫入 CSV 文件
    write_csv(file_name, data_dict, field_names=['Name', 'Age', 'City'])
    # 或者使用列表數(shù)據(jù)
    # write_csv(file_name, data_list)

    # 讀取 CSV 文件
    read_csv(file_name)

if __name__ == '__main__':
    main()

運(yùn)行以上代碼控制臺(tái)輸出結(jié)果:[‘Name’, ‘Age’, ‘City’]
[‘Alice’, ‘30’, ‘New York’]
[‘Bob’, ‘25’, ‘Los Angeles’]
并生成文件:“example.csv”,內(nèi)容如下:

這個(gè)腳本定義了兩個(gè)函數(shù):write_csv 和 read_csv。write_csv 函數(shù)可以根據(jù)傳入的數(shù)據(jù)格式(字典或列表)將數(shù)據(jù)寫入 CSV 文件。read_csv 函數(shù)則用于讀取 CSV 文件并打印其內(nèi)容。main 函數(shù)中整合了這些操作的流程。運(yùn)行這個(gè)腳本將會(huì)創(chuàng)建一個(gè)名為 example.csv 的文件,并在其中寫入數(shù)據(jù),然后讀取并打印出這些數(shù)據(jù)。

7 注意事項(xiàng)

  • 讀寫文件時(shí),確保使用 newline='' 參數(shù)來防止在不同平臺(tái)上的換行符問題。
  • 對(duì)于包含特殊字符的字段,如逗號(hào)或引號(hào),csv 模塊可以正確處理它們。
  • 在使用 DictReader 和 DictWriter 時(shí),字段名的順序是很重要的。

8 總結(jié)

Python 中的 csv 模塊為處理 CSV 文件提供了強(qiáng)大且靈活的工具。無論您是在進(jìn)行數(shù)據(jù)分析還是簡(jiǎn)單的數(shù)據(jù)導(dǎo)入導(dǎo)出,掌握如何有效地讀寫 CSV 文件都是一項(xiàng)非常有用的技能。

以上就是在Python中進(jìn)行CSV文件的讀取與寫入操作的詳細(xì)內(nèi)容,更多關(guān)于Python CSV文件讀取與寫入的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中Json使用示例詳解

    Python中Json使用示例詳解

    這篇文章主要介紹了Python中Json使用,主要介紹一下python?中?json的使用?如何把dict轉(zhuǎn)成json?、object?轉(zhuǎn)成json?、以及json轉(zhuǎn)成對(duì)象,需要的朋友可以參考下
    2022-07-07
  • 初學(xué)python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入(小白篇)

    初學(xué)python數(shù)學(xué)建模之?dāng)?shù)據(jù)導(dǎo)入(小白篇)

    本篇文章是小白篇初學(xué)python的同學(xué)可以來共同學(xué)習(xí)了,本篇文章主要講解了python數(shù)學(xué)建模過程中的第一步數(shù)據(jù)導(dǎo)入,數(shù)據(jù)導(dǎo)入是所有數(shù)模編程的第一步,比你想象的更重要
    2021-08-08
  • 對(duì)django xadmin自定義菜單的實(shí)例詳解

    對(duì)django xadmin自定義菜單的實(shí)例詳解

    今天小編就為大家分享一篇對(duì)django xadmin自定義菜單的實(shí)例詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python驗(yàn)證企業(yè)工商注冊(cè)碼

    Python驗(yàn)證企業(yè)工商注冊(cè)碼

    這篇文章主要介紹了Python驗(yàn)證企業(yè)工商注冊(cè)碼的相關(guān)資料,需要的朋友可以參考下
    2015-10-10
  • pytorch fine-tune 預(yù)訓(xùn)練的模型操作

    pytorch fine-tune 預(yù)訓(xùn)練的模型操作

    這篇文章主要介紹了pytorch fine-tune 預(yù)訓(xùn)練的模型操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python解決八皇后問題示例

    Python解決八皇后問題示例

    這篇文章主要介紹了Python解決八皇后問題,簡(jiǎn)單描述了八皇后問題的原理并結(jié)合實(shí)例形式分析了Python基于遞歸算法解決八皇后問題的相關(guān)操作技巧,需要的朋友可以參考下
    2018-04-04
  • Tensorflow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的詳細(xì)代碼

    Tensorflow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的詳細(xì)代碼

    這篇文章主要為大家詳細(xì)介紹了Tensorflow實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)的詳細(xì)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • Python使用ctypes調(diào)用C/C++的方法

    Python使用ctypes調(diào)用C/C++的方法

    今天小編就為大家分享一篇關(guān)于Python使用ctypes調(diào)用C/C++的方法,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn)

    使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了使用Django的JsonResponse返回?cái)?shù)據(jù)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python WebSocket長(zhǎng)連接心跳與短連接的示例

    Python WebSocket長(zhǎng)連接心跳與短連接的示例

    這篇文章主要介紹了Python WebSocket長(zhǎng)連接心跳與短連接的示例,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論