《Python内置模块007:csv:读写CSV文件的模块》

Python中常用于读写CSV文件的模块是csv。使用该模块可以轻松地读取和写入CSV文件。你可以通过以下方式导入该模块:

import csv

有了这个模块,你可以使用csv.reader来读取CSV文件中的数据,并使用csv.writer来将数据写入CSV文件中

一、常用方法

csv.reader:用于读取CSV文件,将其内容解析为行列表。

csv.writer:用于写入CSV文件,将数据写入文件。

csv.DictReader:类似于csv.reader,但将每行解析为字典。

csv.DictWriter:类似于csv.writer,但接受字典作为输入。

二、使用案例

01:读取CSV文件

读取CSV文件,可以使用Python的csv模块中的csv.reader。以下是一个简单的示例,演示如何读取一个名为"example.csv"的CSV文件:

csv.reader会将每一行作为一个列表返回,使你可以轻松地处理CSV文件中的数据。

import csv

# 读取CSV文件
with open('./tmp/example.csv', newline='', encoding='utf-8') as csvfile:
    csvreader = csv.reader(csvfile)
    for row in csvreader:
        print(row)

02:写入CSV文件

写入CSV文件,使用Python的csv模块中的csv.writer。以下是一个简单的示例,演示如何将数据写入一个名为"output.csv"的CSV文件:

csv.writer允许你将数据逐行写入CSV文件。

import csv

# 写入CSV文件
with open('./tmp/output.csv', 'w', newline='', encoding='utf-8') as csvfile:
    csvwriter = csv.writer(csvfile)
    csvwriter.writerow(['Name', 'Age', 'City'])
    csvwriter.writerow(['Alice', '30', 'New York'])
    csvwriter.writerow(['Bob', '25', 'Los Angeles'])
    

03:使用DictReader读取CSV文件

使用DictReader读取CSV文件,使用csv.DictReader来读取CSV文件,并将每行数据解析为字典形式,可以按以下方式操作:

在这个示例中,csv.DictReader会将每一行解析为一个字典,其中字典的键是CSV文件中的列标题,值是相应的单元格数据

import csv

# 使用DictReader读取CSV文件
with open('./tmp/example.csv', newline='', encoding='utf-8') as csvfile:
    csvreader = csv.DictReader(csvfile)
    for row in csvreader:
        print(row)

04:使用DictWriter写入CSV文件

使用DictWriter写入CSV文件,在这个示例中,csv.DictWriter允许你将字典形式的数据写入CSV文件,同时通过writeheader方法写入列标题。

import csv

# 定义要写入的数据
data = [
    {'Name': 'John', 'Age': 30, 'City': 'New York'},
    {'Name': 'Alice', 'Age': 25, 'City': 'San Francisco'},
    {'Name': 'Bob', 'Age': 35, 'City': 'Seattle'}
]

# 定义CSV文件的列标题
fields = ['Name', 'Age', 'City']

# 打开CSV文件,进行数据写入
with open('output.csv', 'w', newline='') as csvfile:
    # 创建一个DictWriter对象
    csv_writer = csv.DictWriter(csvfile, fieldnames=fields)

    # 写入列标题
    csv_writer.writeheader()

    # 将数据写入CSV文件
    for row in data:
        csv_writer.writerow(row)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大大大钢琴

喜欢!就请他吃3块钱好吃的吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值