当前位置: 首页 > news >正文

csv文件读写处理

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)

转载于:https://www.cnblogs.com/frank007/p/10409078.html

相关文章:

  • 友链
  • HTML5 File API 全介绍
  • Grafana 利用Grafana Variables变量配置快速切换不同主机的图表数据展示
  • 在Windos上安装Nginx
  • [UE4]VR手柄按键参考
  • 2019 GDUT Rating Contest II : Problem G. Snow Boots
  • ORACLE查看数据库已安装补丁
  • VueJs之自动打开浏览器配置
  • ssh远程 和 上传/下载工具
  • DQN(Deep Reiforcement Learning) 发展历程(二)
  • Python使用Flask框架,结合Highchart,自定义导出菜单项目及顺序
  • 软件的安装
  • day8 编码2
  • HNOI/AHOI2018题解
  • CodeSmith 一、连接Mysql
  • Google 是如何开发 Web 框架的
  • 【EOS】Cleos基础
  • android 一些 utils
  • Android路由框架AnnoRouter:使用Java接口来定义路由跳转
  • bearychat的java client
  • FastReport在线报表设计器工作原理
  • Git的一些常用操作
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • Logstash 参考指南(目录)
  • MQ框架的比较
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • sessionStorage和localStorage
  • 对超线程几个不同角度的解释
  • 复杂数据处理
  • 近期前端发展计划
  • 前端面试题总结
  • 区块链共识机制优缺点对比都是什么
  • 使用parted解决大于2T的磁盘分区
  • 线上 python http server profile 实践
  • 最近的计划
  • 阿里云API、SDK和CLI应用实践方案
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​LeetCode解法汇总2182. 构造限制重复的字符串
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • $Django python中使用redis, django中使用(封装了),redis开启事务(管道)
  • ( 10 )MySQL中的外键
  • (1)STL算法之遍历容器
  • (9)目标检测_SSD的原理
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (九十四)函数和二维数组
  • (十七)devops持续集成开发——使用jenkins流水线pipeline方式发布一个微服务项目
  • (十五)使用Nexus创建Maven私服
  • (转)为C# Windows服务添加安装程序
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .net core 源码_ASP.NET Core之Identity源码学习
  • .NET Framework与.NET Framework SDK有什么不同?
  • .NET gRPC 和RESTful简单对比
  • .Net的DataSet直接与SQL2005交互
  • /bin/rm: 参数列表过长"的解决办法