Python数据格式-CSV
时间:2022-07-26
本文章向大家介绍Python数据格式-CSV,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
CSV文件:Comma-Separated Values,中文叫,逗号分隔值或者字符分割值,其文件以纯文本的形式存储表格数据。该文件是一个字符序列,可以由任意数目的记录组成,记录间以某种换行符分割。每条记录由字段组成,字段间的分隔符是其他字符或者字符串。所有的记录都有完全相同的字段序列,相当于一个结构化表的纯文本形式。 用文本文件、EXcel或者类似与文本文件的都可以打开CSV文件。
写入CSV
- 在Python中把数据写入CSV文件,示例如下:
import csv #需要导入库
with open('data.csv','w') as fp:
writer = csv.writer(fp)#先传入文件句柄
writer.writerow(['id','name','age'])#然后写入
writer.writerow(['10001','mike','20'])#按行写入
writer.writerow(['10002','Bob','22'])
writer.writerow(['10003','Jordan','21'])
- 修改列与列之间的分隔符,传入delimiter参数:
import csv #需要导入库
with open('data.csv','w') as fp:
writer = csv.writer(fp,delimiter = '*')#delimiter只能是一个字节的字符
writer.writerow(['id','name','age'])#然后写入
writer.writerow(['10001','mike','20'])#按行写入
writer.writerow(['10002','Bob','22'])
writer.writerow(['10003','Jordan','21'])
- 先写标题,在写数据: 注意:数据是一个列表,并且用writerows()方法
- 以字典的方式写入csv
import csv
with open('data.csv','w') as fp:
fieldnames = ['id','name','age'] #先定义字典里的key
#用DictWriter()方法,增加一个fieldnames
writer = csv.DictWriter(fp,fieldnames = fieldnames,delimiter = '+')
writer.writeheader()#先写入key
#按照字典的方式写入
writer.writerow({ 'id':'10001','name':'mike','age':'20'})
writer.writerow({ 'id':'10002','name':'Bob','age':'22'})
writer.writerow({ 'id':'10003','name':'Jordan','age':'21'})
读取CSV
- 读取CSV文件由两种方式:
- 第一种
import csv
with open('data.csv','r',encoding = 'utf8') as fp:
reader = csv.reader(fp)
for row in reader:
print(row)
- 第二种
import pandas as pd #需要导入pandas库
df = pd.read_csv('data.csv')
print(df)
- Java基础-03(02).总结运算符、键盘录入、if语句
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(十一)数据层优化-druid监控及慢sql记录
- python数据分析师面试题选
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(九)数据层优化-jdbc连接池简述、druid简介
- webpack配置别名alias出现的错误匹配
- 在Java程序中处理数据库超时与死锁
- 如何用TensorFlow和TF-Slim实现图像标注、分类与分割
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合
- 使用shell脚本查看数据库负载情况(第二篇)(r3笔记第92天)
- tensorflow LSTM + CTC实现端到端OCR
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(七)图片上传功能
- 黑客比程序员牛在哪?
- oracle工具集初探(r4笔记第8天)
- Spring+SpringMVC+MyBatis+easyUI整合优化篇(二)Log4j讲解与整合
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- python 入门笔记[语法基础(下)]
- Java 成员变量和属性的区别
- xmuC语言程序实践week 1 大作业
- 《01-背包问题-点菜》
- 模拟赛 2018 Benelux Algorithm Programming Contest (BAPC 18)(部分题)
- vue动态生成表单组件vue-form-maker
- 对顶堆求区间k小(大)数
- 祖传快读快写模板
- 进阶版树状数组
- Julia 生产环境就绪了吗?我们跟项目维护者聊了聊
- 《2017年内蒙古自治区第十二届大学生程序设计-超级密码》
- 知识图谱入门(三)
- xmuC语言程序实践week 2 大作业
- redis学习(二十三)
- Vue 轻量级后台管理系统基础模板