python—CSV的读写
csv文件
CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格式,CSV格式存储数据通常以纯文本的方式存数数据表。
csv 库中有4个常用的对象:
csv.reader:以列表的形式返回读取的数据。
csv.writer:以列表的形式写入数据。
csv.DictReader:以字典的形式返回读取的数据。
csv.DictWriter:以字典的形式写入数据。
打开模式
写读追加状态
'r':读
'w':写
'a':追加
'r+' == r+w(可读可写,文件若不存在就报错(IOError))
'w+' == w+r(可读可写,文件若不存在就创建)
'a+' ==a+r(可追加可写,文件若不存在就创建)
对应的,如果是二进制文件,就都加一个b就好啦:
'rb' 'wb' 'ab' 'rb+' 'wb+' 'ab+'
1.写入数组类型数据
#encoding:utf-8
import csv
header=['class','name','sex','height','year']
rows=[
[1,'xiaoming','male',168,23],
[1,'xiaohong','female',162,22],
[2,'xiaozhang','female',158,21],
[2,'xiaoli','male',158,21]
]
with open('csvdir.csv','w',newline='',encoding='utf-8')as f: #newline=" "是为了避免写入之后有空行
ff=csv.writer(f)
ff.writerow(header) # 写入一维数组
ff.writerows(rows) # 写入二维数组
2.写入字典序列类型数据
在写入字典序列类型数据的时候,需要传入两个参数,一个是文件对象——f,一个是字段名称——fieldnames,到时候要写入表头的时候,只需要调用writerheader方法,写入一行字典系列数据调用writerrow方法,并传入相应字典参数,写入多行调用writerows
import csv
headers = ['class','name','sex','height','year']
rows = [
{'class':1,'name':'xiaoming','sex':'male','height':168,'year':23},
{'class':1,'name':'xiaohong','sex':'female','height':162,'year':22},
{'class':2,'name':'xiaozhang','sex':'female','height':163,'year':21},
{'class':2,'name':'xiaoli','sex':'male','height':158,'year':21},
]
with open('test2.csv','w',newline='',encoding='utf-8')as f:
f_csv = csv.DictWriter(f,headers)
f_csv.writeheader()
f_csv.writerows(rows)
注意:列表和字典形式的数据写入是不一样的!!!!!!
3.csv的读取
读取前两行
# readCSV.py
# python 3.8
import csv
file = 'D:\\1.csv'
with open(file, encoding="UTF8") as f:
reader = csv.reader(f) # 创建 读取器
header_row = next(reader) # 获取表的第一行(一般是列名)
print(header_row) # 打印
first_row = next(reader) # 获取标的第二行
print(first_row)
读取所有行:
和读取文件差不多:
# readCSV.py
# python 3.8
import csv
file = 'D:\\1.csv'
with open(file, encoding="UTF8") as f:
reader = csv.reader(f) # 创建 读取器
header_row = next(reader) # 获取表的第一行(一般是列名)
print(header_row) # 打印
for row in reader: # 循环得到后面的所有数据
print(row)
其实,这个 reader 是个迭代器,其自身包含了一个指向当前数据位置的指针(非C语言指针,而是有点像生活中的手表表盘指针)。你对它调用一次 next(reader),其内部的指针就移到下一行。
参考:
python—CSV的读写的更多相关文章
- python + csv 操作(读写)
import csv"""与excel文件不同,csv文件中:1.数据都没有数据类型,值都是'字符串'2.没有颜色和样式,不能指定单元格测的宽高,不能合并单元格3.没有对 ...
- [Python]-pandas模块-CSV文件读写
Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...
- Python CSV模块简介
Table of Contents 1. CSV 1.1. 简介 1.2. 字典方式地读写 1.3. 其它 2. 参考资料 CSV csv文件格式是一种通用的电子表格和数据库导入导出格式.最近我调用R ...
- python数据文件读写
CSV格式读写 Comma-Separated Values 有时也称为字符分隔值,因为分隔字符也可以不是逗号.以,分隔的文件叫csv,以\t分隔的叫tsv 需要注意的一点:分隔符 import cs ...
- 用CSV文件读写数据的两种方式(转)
导读:有时候我们需要对收集的数据做统计,并在页面提供显示以及下载.除了对传统的excel存取之外,对CSV文件的存取也很重要.本文列出了这两种操作的详细代码. 代码: <?php $file = ...
- Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
- csv文件读写处理
csv文件读写处理 1.读取 第一种: import csv with open("route.csv","r") as f: #reader是一个迭代 ...
- 【转】Python之文件读写
[转]Python之文件读写 本节内容: I/O操作概述 文件读写实现原理与操作步骤 文件打开模式 Python文件操作步骤示例 Python文件读取相关方法 文件读写与字符编码 一.I/O操作概述 ...
- 【Python】文件读写操作
Python的文件读写有点类似php的文件读写.php的文件读写已经在<[php]让记事本成为你调控变量的控制台>(点击打开链接)说过了,以下用一个小样例说明Python的文件读写. 在F ...
- 【转发】Python使用openpyxl读写excel文件
Python使用openpyxl读写excel文件 这是一个第三方库,可以处理xlsx格式的Excel文件.pip install openpyxl安装.如果使用Aanconda,应该自带了. 读取E ...
随机推荐
- CentripetalNet:更合理的角点匹配,多方面改进CornerNet | CVPR 2020
CentripetalNet的核心在于新的角点匹配方式,额外学习一个向心偏移值,偏移值足够小的角点即为匹配,相对于embedding向量的匹配方式,这种方法更为鲁棒,解释性更好.另外论文提出的十字星变 ...
- KingbaseES V8R6 等待事件之CLogControlLock
前言 Kingbase数据库的tuple行头部来标识这条记录的事务结束状态(未知.已提交.已回滚),在事务提交时如果并发更新100万行记录,需要对多个page的tuple进行更改,这种繁重的操作会对数 ...
- 深入理解HashMap和TreeMap的区别
目录 简介 HashMap和TreeMap本质区别 排序区别 Null值的区别 性能区别 共同点 深入理解HashMap和TreeMap的区别 简介 HashMap和TreeMap是Map家族中非常常 ...
- 报表格式太难?一文教你Excel融合分析
Excel是我们最经常使用的处理报表工具了,尤其是金融行业更是需要天天和报表打交道.但是Excel有一个问题,如果面对的数据庞杂,则处理起来就会相当麻烦,当需要从多个数据源获取数据来制作一个报表时,这 ...
- vue element序号翻页连续排序
type="index" :index="indexMethod" // 序号翻页连续排序 indexMethod(index) { return (this. ...
- 国产开源数据库OpenGauss的安装运行
步骤一:OpenGauss 的安装 环境 OS:openEuler 20.03 64bit with ARM 架构:arm64 部署:单机 安装过程 1.环境配置 安装依赖包: yum install ...
- 将 Github Pages 个人博客录入搜索引擎(以 Bing 为例)
目录 关于 Bing Webmaster Tools 步骤一:登录 步骤二:添加网站 步骤三:验证网站 步骤四:添加网站地图 验证 & 总结 相关链接 笔者最近准备将 Gitee Pages ...
- 墨水污染的一角qsnctfwp
题目附件 在图片中最直接的信息是电话号码,将号码输入到搜索引擎,可以得到该书的出版社为:高等教育出版社. 进入高等教育出版社官网 根据物料号前四位.版次时间.印次时间,在官网中进行图书查询. 结合字数 ...
- Excel 表间关联运算的示例
用 Excel 处理数据时,经常会涉及到多页 sheet 数据之间的关联运算需求,用 vlookup 可以完成部分简单关联,但较复杂的情况时仍然不太方便,常常需要多次操作才能完成.另外,当要做关联的文 ...
- 解决跨域问题之fetch的使用
一.介绍 fetch 提供了一个获取资源的接口 (包括跨域). fetch 的核心主要包括:Request , Response , Header , Body 利用了请求的异步特性 --- 它是基于 ...