【学习笔记】python3中csv文件使用
1. reader=csv.reader(f, delimiter=','):按行读取数据,reader为生成器,读取的每行数据为列表格式,可以通过delimiter参数指定分隔符。
import csv
with open('data.csv', encoding='utf-8') as f:
reader = csv.reader(f)
header = next(reader) #当文件中有标题行时,可使用header=next(reader)先获取到第一行的数据,再进行遍历剩余所有的数据行
print(header)
for row in reader:
print(row)
所有的数据都以字符串输出(包括数字),如果要使用数字格式,要使用int()/float()做相应转换
2. writer=csv.writer(f):按行写入数据,,writer支持writerow(列表)单行写入,和writerows(嵌套列表)写入多行数据
import csv
header = ['name', 'age', 'sex(gentle/male)']
data = [
['张三', '18', 'gentle'],
['李四', '19', 'male'],
['王五', '20', 'gentle']
]
with open('data.csv', 'w', encoding='utf-8', newline='') as f: #指定格式为w 文本写入,不支持wb二进制写入;指定不自动添加新行newline='',否则每写入一行就或多一个空行
writer = csv.writer(f) #如果想写入的文件用Excel打开没有乱码,utf-8可以改为utf-8-sig。
writer.writerow(header) #单行写入标题行
writer.writerows(data) #多行写入数据行
3.reader=csv.DictReader(f):将标题和每一列数据组装成有序字典(OrderedDict)格式,无须再单独读取标题行。
import csv
with open('data.csv', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
print(row['name'], row['age'], row['sex(gentle/male)'])
4.writer=csv.DictWriter(f, 标题行列表):写入可以先用writer.writeheader()写入标题,然后再用writer.writerow(字典格式数据行)或write.writerows(多行数据)。
import csv
header = ['name', 'age', 'sex(gentle/male)']
data = [
['张三', '18', 'gentle'],
['李四', '19', 'male'],
['王五', '20', 'gentle']
]
with open('data.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.DictWriter(f, header)
writer.writeheader()
writer.writerows(data)
【学习笔记】python3中csv文件使用的更多相关文章
- php学习笔记6--php中的文件包含 include,require,include_once,require_once
php中的文件包含 include,require,include_once,require_once 文件包含:是指将一个文件的内容包含进另外一个文件,有利于代码的复用等.php中文件包含指令有4个 ...
- python学习笔记(六)文件夹遍历,异常处理
python学习笔记(六) 文件夹遍历 1.递归遍历 import os allfile = [] def dirList(path): filelist = os.listdir(path) for ...
- java 学习笔记之 流、文件的操作
ava 学习笔记之 流.文件的操作 对于一些基础的知识,这里不再过多的解释, 简单的文件查询过滤操作 package com.wfu.ch08; import java.io.File; import ...
- 《Cocos2d-x游戏开发实战精解》学习笔记3--在Cocos2d-x中播放声音
<Cocos2d-x游戏开发实战精解>学习笔记1--在Cocos2d中显示图像 <Cocos2d-x游戏开发实战精解>学习笔记2--在Cocos2d-x中显示一行文字 之前的内 ...
- Java NIO 学习笔记(四)----文件通道和网络通道
目录: Java NIO 学习笔记(一)----概述,Channel/Buffer Java NIO 学习笔记(二)----聚集和分散,通道到通道 Java NIO 学习笔记(三)----Select ...
- ArcGIS案例学习笔记-点集中最近点对和最远点对
ArcGIS案例学习笔记-点集中最近点对和最远点对 联系方式:谢老师,135-4855-4328,xiexiaokui@qq.com 目的:对于点图层,查找最近的点对和最远的点对 数据: 方法: 1. ...
- 用python3读csv文件出现UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 0: invalid continuation byte
1.python3读取csv文件时报如下图所示的错误 2.分析原因:读取的csv文件不是 UTF8 编码的,而IDE工具默认采用 UTF8 解码.解决方法是修改源文件的解码方式. 3.使用nodepa ...
- Python学习笔记_从CSV读取数据写入Excel文件中
本示例特点: 1.读取CSV,写入Excel 2.读取CSV里具体行.具体列,具体行列的值 一.系统环境 1. OS:Win10 64位英文版 2. Python 3.7 3. 使用第三方库:csv. ...
- python3读写csv文件
python读取CSV文件 python中有一个读写csv文件的包,直接import csv即可.利用这个python包可以很方便对csv文件进行操作,一些简单的用法如下. 1. 读文件 csv_ ...
随机推荐
- org.apache.ibatis.binding.BindingException: Parameter '0' not found. Available parameters are [arg1, arg0, param1, param2]
报错信息如下: org.apache.ibatis.binding.BindingException: Parameter '0' not found. Available parameters ar ...
- pycharm 怎么能像在命令行中输入参数进行调试
pycharm中配置main参数 Run->Edit Configurations->Script Parames 把需要在xxx.py A B C 后面的参数输入到如下位置. 否则会报错 ...
- 【Share Code | HTML & CSS & Javascript】动画片段幻灯片
[查看demo & 下载资源](https://zhaoshuquan.com/posts/15 介绍 本文使用"Pieces"库轻松实现动画片段幻灯片效果. 今天我们想向 ...
- pandas聚合和分组运算之groupby
pandas提供了一个灵活高效的groupby功能,它使你能以一种自然的方式对数据集进行切片.切块.摘要等操作.根据一个或多个键(可以是函数.数组或DataFrame列名)拆分pandas对象.计算分 ...
- Vue: 购物车数量加减按钮
效果图: HTML: <div class="label"> <p class="buy_num">购买数量</p> < ...
- sln、db、opendb、vcxproj、filters、user文件跟踪说明
工程文件控制 vs工程中,往往包含:.sln ..db ..opendb 文件 sln文件 为工程属性文件,是我们必须添加到版本控制中的, db文件,是项目编译时生成的数据库文件,非常的大,占用空间 ...
- element-ui多重下拉列表的使用
template <div class="block"> <span class="demonstration">默认 click 触发 ...
- Linux添加磁盘和挂载
1.新建一个虚拟磁盘,例:20GB 2.重启后使用 fdisk -l 查看磁盘详细信息,刚添加的磁盘信息如下: 3.对刚添加的磁盘进行分区 fdisk /dev/sdc 4.格式化分区 mkfs.ex ...
- 原生Js_实现广告弹窗
广告样式当页面加载后5s刷新在右下角 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- 关于SpringBoot跨域的问题
直接在启动类里面加这一段代码就行: @Bean public CorsFilter corsFilter() { final UrlBasedCorsConfigurationSource sourc ...