csv文件读写处理

1.读取

第一种:

复制代码
import csv
with open("route.csv","r") as f:
    #reader是一个迭代器
    reader=csv.reader(f)
    next(reader)  #输出结果会去掉行头标题
    for row in reader:
        name=row[0]
        dates=row[-1]
        print({"name":name,"date":dates})
复制代码

第二种:字典方式读取

import csv
with open("route.csv","r") as f:
    #使用DictReader创建的reader是一个迭代器,遍历迭代器返回的数据是一个字典(有序字典)
    #返回的结果不包含行首的标题
    reader=csv.DictReader(f)
    for row in reader:
        # print(row) #遍历迭代器返回的数据是一个字典(有序字典)
        print(row["昵称"],row["院系信息"])

 2.写入

第一种:

复制代码
import csv
headers=["username","age","addr"]
values={
    ("张三",23,"满城"),
    ("李四",24,"保定"),
    ("王五",25,"衡水"),
    ("赵六",26,"邯郸")
}
with open("name.csv","w",encoding="utf-8",newline="") as f: #newline换行符为空,默认为\n
    writer=csv.writer(f)
    writer.writerow(headers) #写入行首标题
    writer.writerows(values) #写入多行
复制代码

第二种:

复制代码
import csv
headers=["username","age","addr"]
values=[
    {"username":"张三","age":23,"addr":"保定"},
    {"username":"李四","age":23,"addr":"邯郸"},
    {"username":"王五","age":23,"addr":"石家庄"},
    {"username":"赵六","age":23,"addr":"衡水"},
]

with open("name2.csv","w",encoding="utf-8",newline="") as f:
    writer=csv.DictWriter(f,headers)
    #写入表头的时候需要写入writerheader方法
    writer.writeheader()
    writer.writerows(values)
复制代码

 

posted @   从此重新定义啦  阅读(4760)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示