Python常用内置模块-csv模块

介绍

Python中的csv模块是用于处理CSV(逗号分隔值)文件的标准库。CSV文件是一种常见的文件格式,用于存储和交换数据。一般也被叫做逗号分隔值文件,可以使用 Excel 软件或者文本文档打开 。其中数据字段用半角逗号间隔(也可以使用其它字符),使用 Excel 打开时,逗号会被转换为分隔符。csv 文件是以纯文本形式存储了表格数据,并且在兼容各个操作系统。

使用

1. 导入csv模块:

复制代码
import csv

2. 读取CSV文件:

  • 打开CSV文件并创建一个读取器(reader)对象:

    with open('data.csv', 'r') as file:
    reader = csv.reader(file)

  • 读取文件中的数据行:

    for row in reader:
    # 对每一行进行处理,row是一个列表,包含该行中的所有字段
    # 例如,可以使用row[index]访问特定字段
    print(row)

3. 写入CSV文件:

  • 打开CSV文件并创建一个写入器(writer)对象:

    with open('output.csv', 'w', newline='') as file:
    writer = csv.writer(file)

  • 写入数据行:

    writer.writerow(['Name', 'Age', 'City']) # 写入表头
    writer.writerow(['John', '25', 'New York']) # 写入数据行

  • 写入多行数据:

    data = [['Name', 'Age', 'City'], ['John', '25', 'New York'], ['Jane', '30', 'Los Angeles']]
    writer.writerows(data)

4. 读取CSV文件为字典:

  • 打开CSV文件并创建一个字典读取器(DictReader)对象:

    with open('data.csv', 'r') as file:
    reader = csv.DictReader(file)

  • 读取文件中的数据行,每行将作为一个字典返回:

    for row in reader:
    # 对每一行进行处理,row是一个字典,键为字段名,值为对应的值
    # 例如,可以使用row['Name']访问特定字段的值
    print(row)

5. 写入字典到CSV文件:

  • 定义CSV文件的字段名:

    fieldnames = ['Name', 'Age', 'City']

  • 打开CSV文件并创建一个字典写入器(DictWriter)对象:

    with open('output.csv', 'w', newline='') as file:
    writer = csv.DictWriter(file, fieldnames=fieldnames)

  • 写入表头:

    writer.writeheader()

  • 写入字典数据行:

    writer.writerow({'Name': 'John', 'Age': '25', 'City': 'New York'})

相关推荐
小小张说故事12 分钟前
LightGBM 入门指南:更快的梯度提升树,Python 实战
后端·python·机器学习
無名路人13 分钟前
小程序点餐页吸顶滚动之分类按需加载,上划切换
前端·vue.js·微信小程序
Ticnix14 分钟前
RAG 检索不准,九成的锅不在向量——不同文件,就该有不同的入库方案
后端·python·agent
jerryinwuhan23 分钟前
python快速入门第二周
python
IT毕设梦工厂33 分钟前
计算机毕业设计选题推荐:基于大数据的供应链数据分析与可视化|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hive·hadoop·python·数据分析·spark·课程设计
用户2986985301436 分钟前
Python 文档格式转换:Word 转 EPUB 实践
后端·python·api
竹林8181 小时前
把神经网络塞进一个浏览器标签页:端侧视觉 AI 的工程真相
前端·浏览器
Omics Pro1 小时前
Cell封面|衰老生物学开源AI工具包
数据库·人工智能·算法·机器学习·自然语言处理
IT毕设梦工厂1 小时前
计算机毕业设计选题推荐:基于大数据的二手车数据可视化分析|毕业设计选题|计算机毕设|选题推荐|毕设指导|项目定制|源码|高质量项目
大数据·hadoop·python·数据挖掘·数据分析·课程设计·数据分析数据可视化
Python图像识别1 小时前
17-【2027毕设】YOLO11水稻病害检测识别系统 - Python完整源码+PyQt5界面+训练模型+数据集
python·深度学习·yolo·毕业设计·毕设