【python 内置模块】csv

2024-01-20 00:00:00

目录:

csv 是一种以纯文本形式存储表格数据的通用文件格式,Python 标准库中的 csv 模块提供了强大而灵活的工具,用于读取和写入 CSV 文件。

csv.writer

用于将数据按行写入 CSV 文件。

import csv

data = [
    ['Name', 'Age', 'City'],
    ['Alice', '25', 'New York'],
    ['Bob', '30', 'London']
]

with open('test.csv', 'w', newline='', encoding='utf-8') as file:
    writer = csv.writer(file)
    writer.writerows(data)  # 写入多行数据,二维列表
    writer.writerow(['Candy', '28', 'Paris']) # 写入一行数据,一维列表

csv.reader

用于将 CSV 文件的每一行读取为一个字符串列表。

import csv

with open('test.csv', 'r', newline='', encoding='utf-8') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)  # row 是一个列表,例如 ['Alice', '25', 'New York']

csv.DictWriter

将字典数据写入 CSV 文件,并可以方便地写入标题行。

import csv

fieldnames = ['Name', 'Age', 'City']
data = [
    {'Name': 'Alice', 'Age': '25', 'City': 'New York'},
    {'Name': 'Bob', 'Age': '30', 'City': 'London'}
]

with open('test.csv', 'w', newline='', encoding='utf-8') as file:
    writer = csv.DictWriter(file, fieldnames=fieldnames)
    writer.writeheader()  # 写入标题行
    writer.writerows(data)  # 写入多行数据
    writer.writerow({'Name': 'Charlie', 'Age': '28', 'City': 'Paris'}) # 写入单行数据

csv.DictReader

将 CSV 文件的每一行读取为一个字典,键默认为文件第一行的列名,便于通过列名访问数据。

import csv

with open('test.csv', 'r', newline='', encoding='utf-8') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row['Name'], row['Age'])  # 通过列名直接访问特定字段

返回首页

本文总阅读量  次
皖ICP备17026209号-3
总访问量: 
总访客量: