测开之路八十五:python处理csv文件
写入csv文件
一:写入字典


二:写入普通数据


读取:
第一种:普通读取

第二种:读取csv并用namedtuple映射列名,类似于使用类的实例

第三种:字典形式

import csv
from collections import namedtuple def csv_write_dict():
""" 写入字典 """
header = ["_id", "column1", "column2", "column3"]
rows = [
{"_id": 1, "column1": "a1", "column2": "b1", "column3": "c1"},
dict(_id=2, column1="a2", column2="b2", column3="c2")
]
with open("data.csv", "w", encoding="utf8", newline="") as f:
writer = csv.DictWriter(f, header)
writer.writeheader()
writer.writerows(rows) def csv_write():
""" 写入csv文件 """
header = ["id", "column1", "column2", "column3"]
rows = [
(1, "a1", "b1", "c1"),
(2, "a2", "b2", "c2")
]
with open('data.csv', "w", encoding='utf8', newline='') as f:
write = csv.writer(f)
write.writerow(header) # 写一行,第一行
write.writerows(rows) # 写多行,内容 def csv_read():
""" 普通读取csv """
with open('data.csv', encoding='utf8') as f:
reader = csv.reader(f) # 加载csv
headers = next(reader) # 第一行,即表头
print(headers)
for row in reader:
print(row) # 取出来是list
print(f'id: {row[0]}, column1: {row[1]}, column2: {row[2]}, column3: {row[3]}') def csv_read_by_namedtuple():
""" 读取csv并用namedtuple映射列名 """
with open('data.csv', encoding='utf8') as f:
reader = csv.reader(f) # 加载csv
headers = next(reader) # 第一行,即表头
Row = namedtuple('Row', headers)
for r in reader:
row = Row(*r)
print(row)
print(f'{row.id}--{row.column1}--{row.column2}--{row.column3}') def csv_read_by_dict():
""" 读取csv为字典形式 """
with open('data.csv', encoding='utf8') as f:
reader = csv.DictReader(f) # 以字典形式加载csv
for row in reader:
print(row)
print(f'id:{row["id"]}--column1:{row.get("column1")}--'
f'column12:{row.get("column2", "未获取到值")}--'
f'column3:{row.get("column3")}') if __name__ == '__main__':
csv_write()
csv_write_dict()
csv_read()
csv_read_by_namedtuple()
csv_read_by_dict()
测开之路八十五:python处理csv文件的更多相关文章
- 测开之路八十六:python操作sqlite
创建sqlite数据库,并创建表和数据 python自带sqlite3库可以创建数据库文件 导入库:import sqlite3 创建游标,指定数据库名字:con = sqlite3.connect( ...
- 测开之路七十五:linux常用命令
常用命令: ls:列出文件或目录 pwd:展示当前所在的目录 mkdir:创建目录 mkdir -p :创建连续的目录 cd:切换目录 vi:编辑内容,点i开始编辑,输入::wq保存 cat 显示文件 ...
- 测开之路四十五:Django之最小程序
安装Django库 Django最小程序 import sysfrom django.conf.urls import urlfrom django.conf import settingsfrom ...
- 测开之路八十九:HTML之图片处理
<!--width.height设置图片尺寸 alt:当图片不能展示时,显示的内容 title:鼠标放上去时展示的内容--> <img src="../imges/img0 ...
- 测开之路八十八:HTML之文本格式化
准备一段文本内容 强调显示: <!-- b标签,加粗显示 --> <p><b>这是b标签的效果</b></p> <!-- strong ...
- 测开之路八十二:匿名函数:lambda表达式
# 匿名函数:lambda表达式# lambda 参数: 逻辑f = lambda name: print(name)f('tom') f2 = lambda x, y: x + yprint(f2( ...
- 测开之路六十五:UI测试平台之js
//添加网址的函数,生成一个输入网址的标签,并且把标签append到id为cases下function browser() { var html = '\ <div class="ro ...
- 测开之路三十五:css引入
CSS是一种定义样式结构,如字体.颜色.位置等的语言,被用于描述网页上的信息格式化和现实的方式.CSS样式可以直接存储于HTML网页或者单独的样式单文件.无论哪一种方式,样式单包含将样式应用到指定类型 ...
- 测开之路七十九:python 文件处理和对象的写入读取
"""处理文件:open(文件名, 模式,编码) 'r' 打开阅读(默认)'w' 打开写入,首先截断文件'x' 打开独占创建,如果文件已经存在则失败'a' 打开写入,追加 ...
随机推荐
- [常用类]String 类
String 字符串是常量,一旦被赋值,就不能被更改. String str = “abc”: // "abc" 可以堪称是一个字符串对象 str = “def“: // 当把 & ...
- 【CF321E】+【bzoj5311】贞鱼
决策单调性 + WQS二分 我们首先列出转移式: \(f[i]=Min(f[j]+Sum[j+1 , i])\) 首先我们考虑如果让一段区间的小鱼在一起的代价怎么预处理,我们可以对于一个上三角矩阵求个 ...
- app防攻击办法
方法一 要求请求端带上一个随机字符串state(也可以是特定规则生成的,甚至是从服务器上请求过来的),服务端(用过滤/拦截器之类的实现不会影响业务代码)收到之后缓存一定的时间(长短视业务和硬件),每次 ...
- mysqldump导入导出
如果导入数据:使用mysqldump命令 导出数据和表的结构: 1.导出表数据和表结构 mysqldump -u用户名 -p密码 数据库名 > 数据库名.sql(这个名字随便叫) #/usr/l ...
- Maven 集成Tomcat插件(引用)
Maven已经是Java的项目管理标配,如何在JavaEE开发使用Maven调用Web应用,是很多同学关心的问题.本文将介绍,Maven如何介绍Tomcat插件. Maven Tomcat插件现在主要 ...
- Taro -- 微信小程序登录
Taro微信小程序登录 1.调用Taro.login()获取登录凭证code: 2.调用Taro.request()将code传到服务器: 3.服务器端调用微信登录校验接口(appid+appsecr ...
- 【改】DOS文件格式转UNIX文件格式
windows中的文本文件的换行符是"\r\n",而linux中是"\n",dos格式文件传输到unix系统时,会在每行的结尾多一个^M,当然也有可能看不到,但 ...
- Java虚拟机——Class类文件结构
Class文件格式采用一种类似C语言结构体的结构来存储数据,这种数据结构只有两种数据类型:无符号数和表. 无符号数属于基本的数据类型,数据项的不同长度分别用u1, u2, u4, u8表示, ...
- linux --memcached的安装与配置
转载:http://blog.sina.com.cn/s/blog_4829b9400101piil.html 1.准备安装包:libevent-2.0.21-stable.tar.gz 和memca ...
- [POJ3417]Network(LCA,树上差分)
Network Description Yixght is a manager of the company called SzqNetwork(SN). Now she's very worried ...