Py't'hon之csv,ini&序列化,反序列化
1.csv文件简介
csv是一个被行分隔符,列分隔符划分成行和列的文本
csv不指定字符编码
行分隔符为\r\n,最后一行可以没有换行符
列分隔符常为逗号和制表符
每一行称之为record
from pathlib import Path
p = Path("test.csv")
csv_body = '''\
id,name,age,comment
1,zs,18,"i'm 18"
2,ls,20,"this is a test string"
3,ww,23,"你好"
'''
p.write_text(csv_body)
print("-----------------------------------")
csv_body = '''\
id,name,age,comment
1,zs,18,"i'm 18"
2,ls,20,"this is a test string"
3,ww,23,"你好"
'''
with open('test.csv','w+') as f:
f.write(csv_body)
print("------------------------------------")
2.csv模块
reader()
返回一个DdictReader对象,是一个行迭代器
delimiter 列分隔符,逗号
lineterminator 行分隔符\r\n
quotechar 字段引用符号,缺省为“。双引号 writer()
返回dictwriter的实例
主要方法有writerow,writerows,writerow(iterable)
import csv
with open('test.csv') as f:
reader = csv.reader(f)
for i in reader:
print(i)
import csv
from pathlib import Path
filename = "test.csv" csv_body = """id,name,age,comment
1,harden,28,nba player
2,curry,29,mvp
3,james,34,champion
""" rows = [[4,'durant',29,'Scoring king']] with open(filename,'a+') as f:
f.write(csv_body)
writer=csv.writer(f)
writer.writerows(rows) with open(filename,'r+') as r:
reader = csv.reader(r)
for i in reader:
if i:
print(i)
3.ini文件处理,作为配置文件ini文件很流行
#用来操作ini文件;可以讲section当作key,section存储着键值对组成的字典,可以把ini文件当作一个嵌套的字典,默认使用有序字典
#中括号里面的部分称之为section,没一个section之内,都是key,value形成的键值对,key称为option选项
import configparser
from configparser import ConfigParser filename = '../Initest.ini'
cfg = ConfigParser()
cfg.read(filename) for k,v in cfg.items():
# print(k,cfg.items(k))
print(k)
import json
import configparser
from configparser import ConfigParser filename = '../Initest.ini'
jsonname = 'jsontest.json'
cfg = ConfigParser()
cfg.read(filename) dic = {}
for sec in cfg.sections():
dic[sec] = dict(cfg.items(sec))
print(dic) with open(jsonname,'w') as f:
json.dump(dic,f)
Py't'hon之csv,ini&序列化,反序列化的更多相关文章
- 5) ModelSerializer(重点) 基表 测试脚本 多表关系建外键 正反查 级联 插拔式连表 序列化反序列化整合 增删查 封装response
一.前戏要做好 配置:settings.py #注册drf INSTALLED_APPS = [ # ... 'api.apps.ApiConfig', 'rest_framework', ] # ...
- php json与xml序列化/反序列化
在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记 简单数组js ...
- 序列化反序列化api(入门级)
定义: java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程. 为什么字符串通常也会进行序列化? 对象需要进行序列化的原因:保证对象的状态不变 ...
- python_way ,day5 模块,模块3 ,双层装饰器,字符串格式化,生成器,递归,模块倒入,第三方模块倒入,序列化反序列化,日志处理
python_way.day5 1.模块3 time,datetime, json,pickle 2.双层装饰器 3.字符串格式化 4.生成器 5.递归 6.模块倒入 7.第三方模块倒入 8.序列化反 ...
- C#之你懂得的序列化/反序列化
前言:写此文章一方面是为了巩固对序列化的认识,另一方面是因为本人最近在面试,面试中被问到“为什么要序列化”.虽然一直在使用,自己也反复的提到序列化,可至于说为什么要序列化,还真的没想过,所以本文就这样 ...
- springboot学习(三)——http序列化/反序列化之HttpMessageConverter
以下内容,如有问题,烦请指出,谢谢! 上一篇说掉了点内容,这里补上,那就是springmvc的http的序列化/反序列化,这里简单说下如何在springboot中使用这个功能. 使用过原生netty ...
- java序列化反序列化深入探究
When---什么时候需要序列化和反序列化: 简单的写一个hello world程序,用不到序列化和反序列化.写一个排序算法也用不到序列化和反序列化.但是当你想要将一个对象进行持久化写入文件,或者你想 ...
- java序列化反序列化深入探究(转)
When---什么时候需要序列化和反序列化: 简单的写一个hello world程序,用不到序列化和反序列化.写一个排序算法也用不到序列化和反序列化.但是当你想要将一个对象进行持久化写入文件,或者你想 ...
- C# XML序列化/反序列化参考
.NET提供了很不错的XML序列化/反序列化器,(它们所在的命名空间为System.Xml.Serialization)这是很方便的,下面对它的使用做一些总结,以供参考. 1,简单序列化 public ...
随机推荐
- UE4/Unity3d 根据元数据自动生成与更新UI
大家可能发现一些大佬讲UE4,首先都会讲类型系统,知道UE4会根据宏标记生成一些特定的内容,UE4几乎所有高级功能都离不开这些内容,一般来说,我们不会直接去使用它. 今天这个Demo内容希望能加深大家 ...
- 01Hadoop二次排序
我的目的: 示例: 2012,01,01,352011,12,23,-42012,01,01,432012,01,01,232011,12,23,52011,4,1,22011,4,1,56 结果: ...
- dubbo系列二:dubbo常用功能总结
准备工作: (1)启动zookeeper作为dubbo的注册中心 (2)新建一个maven的生产者web工程dubbo-provider-web和一个maven的消费者web工程dubbo-consu ...
- 自定义GridView实现分割线解析
前两天在些项目的时候碰到常用的GridView要实现一些分割线,之前就是用本方法利用listView和Item的背景颜色的不同线显示分割线.这是最low的一种做法.于是我就简单的写了一个自定义的 Gr ...
- Django 跨域问题
当使用Django 做接口时,被html5 或者app访问时 存在跨域问题 导致无法请求到数据,具体解决办法如下: 跨域问题解决 安装pip install django-cors-headers修改 ...
- ansible运维工具(二)
ansible playbook(二) 运行palybook时 要使用ansible-playbook命令 palybook执行任务的顺序是,在第一个主机上完成第一个任务,然后在第二个主机上完成第一个 ...
- [干货教程]仿网易云课堂微信小程序开发实战经验
本篇文章想跟大家分享下:我们公司“湖北诚万兴科技”最近刚帮客户定制开发.目前已上线的“哎咆课堂”微信小程序的开发经验分享.首先大概介绍下这个小程序所涉及到的主要技术点:微信登录.微信支付.微信小程序F ...
- Kafka集群管理工具kafka-manager的安装使用
一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...
- C#俄罗斯方块小游戏程序设计与简单实现
C#俄罗斯方块小游戏程序设计与简单实现 相信90后或者80后都玩过这款小游戏,一直想干一票,琢磨一下,但又不太懂,于是网上搜集修改就有了以下效果!bug较多,多多包涵! 1.效果展示 2.实现方法 参 ...
- 在elementUI中使用 el-autocomplete 实现远程搜索的下拉框
参考;https://blog.csdn.net/qq_37746973/article/details/78402812?utm_source=blogxgwz1 https://blog.csdn ...