储存模块之CSV

简介: 储存模块之CSV

csv模块也是一个python的内置模块,该模块处理的是csv文件的读取和存档


csv模块中的reader类和writer类可用于读写序列化的数据。也可使用DictReader类和DictWriter类以字典的形式读写数据。这个我们仅使用后面两个类


csv.rader(fq)


该函数读取文件csv文件,fq为csv文件对象,返回的是一个reader对象(迭代器),具体用法如下:

import csv
# 读取csv文件
with open("1.csv", "r") as f:
    text = csv.reader(f) # 返回的是一个迭代器,每次迭代的一行内容
    next(text) # 去掉第一行
    for data in text:
        print(data)

csv.writer(fq)

该函数用于往csv文件写入数据,fq是一个csv文件对象(该文件打开时一定要加上newline="",不然数据会出现空行,该函数返回的是一个writer对象,该对象负责将传入数据写入csv文件(函数writerow()和函数writerows()),写入的数据应该是数组或列表类型的

import csv
header = ["name", "age", "sex"]
data = [["python", "21", "man"], ["java", "30", "man"]]
# 写scv文件
with open("1.csv", "w", newline="", encoding="utf8") as f1:
    writer = csv.writer(f1)
    writer.writerow(header)
    writer.writerows(data)

csv.DictReader(fp)

fp是一个csv文件对象,该函数返回的是一个DictReader对象(迭代器),且是字典类型

import csv
with open("1.csv", "r") as f:
    reader = csv.DictReader(f)
    for data in reader:
        print(data)

csv.DictWriter(fq,headers)

fq是一个csv文件对象,headers是一个数组或列表(csv文件的头),该函数返回的是一个DictWriter对象,该对象在操作上类似常规 writer,但会将字典映射到输出行

import csv
headers = ["name", "age", "sex"]
dict_data = [
    {"name": "lili", "age": "1", "sex": "man"}, 
    {"name": "haha", "age": "2", "sex": "man"},
    {"name": "wawa", "age": "4", "sex": "woman"}
]
with open("2.csv", "w", newline="", encoding="utf8") as f:
    writer = csv.DictWriter(f, headers)
    writer.writeheader()
    writer.writerows(dict_data)


目录
相关文章
|
安全 关系型数据库 MySQL
Linux 实用小脚本系列(2)----mysql安全初始化脚本的免交互执行--mysql_secure_installation
Linux 实用小脚本系列(2)----mysql安全初始化脚本的免交互执行--mysql_secure_installation
447 0
|
存储 数据采集 数据可视化
Open3d系列 | 1. Open3d实现点云数据读写、点云配准、点云法向量计算
Open3d系列 | 1. Open3d实现点云数据读写、点云配准、点云法向量计算
17285 1
Open3d系列 | 1. Open3d实现点云数据读写、点云配准、点云法向量计算
|
监控 网络协议 JavaScript
WebSocket技术详解与应用指南
WebSocket是全双工TCP协议,解决HTTP的单向通信问题,允许服务器主动推送信息。本文档介绍了WebSocket的基本概念、工作原理(基于HTTP握手,通过帧进行数据通信)、应用场景(实时聊天、在线游戏、数据监控等)和实现方法(客户端使用JavaScript API,服务器端有多种编程语言库支持)。学习WebSocket能提升Web应用的实时性和交互性。
2775 1
|
Web App开发 Java 开发工具
位宽计算的系统函数$clog2,这些是你需要知道的【Verilog高级教程】
位宽计算的系统函数$clog2,这些是你需要知道的【Verilog高级教程】
位宽计算的系统函数$clog2,这些是你需要知道的【Verilog高级教程】
|
Android开发
Android Wifi和蓝牙操作(二)
Android Wifi和蓝牙操作(二)
433 0
|
Web App开发 JavaScript 前端开发
VS Code 必备插件推荐
插件 说明 备注 Auto Close Tag 自动添加HTML / XML关闭标签 Auto Rename Tag 自动重命名配对的HTML / XML标签 Beautify 格式化代码 Brack...
4495 0
|
2天前
|
云安全 人工智能
2025,阿里云安全的“年度报告”
拥抱AI时代,阿里云安全为你护航~
1439 1
|
9天前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1414 10
|
9天前
|
机器学习/深度学习 安全 API
MAI-UI 开源:通用 GUI 智能体基座登顶 SOTA!
MAI-UI是通义实验室推出的全尺寸GUI智能体基座模型,原生集成用户交互、MCP工具调用与端云协同能力。支持跨App操作、模糊语义理解与主动提问澄清,通过大规模在线强化学习实现复杂任务自动化,在出行、办公等高频场景中表现卓越,已登顶ScreenSpot-Pro、MobileWorld等多项SOTA评测。
1326 7

热门文章

最新文章