CSV与ini文件

CSV文件(Comma-Separated Values)

  • CSV是一个被行分割符、列分隔符划分成行和列的文本文件,且不指定字符编码

  • 行分隔符是\r\n,列分割符一般是“,”或者制表符

  • 文件的每一行成为一条记录record

  • 字段中如果没有双引号、逗号、换行符,字段的双引号可以省略不写

  • 表头可选,和字段列对齐即可

  • CSV模块操作

    • csv.reader(csvfile, dialect='excel', **fmtparams)
      • 返回DictReader对象,是一个行迭代器
      • 可以指定可选关键字参数:
        • delimiter: 列分割符,逗号
        • lineterminator: 行分割符\r\n
        • quotechar: 字段的引用符号,缺省为”
    • csv.writer(csvfile, dialect='excel', **fmtparms)
      • 返回DictWriter的实例
      • 主要方法有:
        • writerow(iterable)/writerows(iterables)

ini文件

  • 在ini文件中的所有内容都是字符串格式
  • ini文件作为配置文件,基本格式如下:
[DEFAULT]
a = default

[section]
option=value
  • DEFAULT是缺省的section的名字,必须大写
  • section称为节、区、段
  • 每个section的内容都是一个键值对,其中key称为option

configparse模块

  • 模块导入:from configparser import ConfigParse
  • 使用configparse来处理ini文件,可以将section当做key,对应的value也是option组成的键值对,嵌套的字典结构(默认使用的是有序字典)
  • 以下方法都是对 conf=ConfigParse() conf对象的操作
  • read(inifiles, encoding=None):读取ini文件
    • inifiles: 可以是多个ini文件组成的文件列表
    • encoding: 可以指定文件编码
  • section(): 返回一个section列表,不包括缺省的section在内
  • add_section(section_name): 增加一个section
  • has_section(section_name): 判定section是否存在
  • options(section): 返回指定section中所有option,包括缺省的option在内
  • has_option(section,option): 判定section是否存在这个option
  • get(section, option): 从指定的字段上取值,如果没有找到就去DEFAULT中查找
  • getint(sectin, option): 将返回结果从str转为int
  • getfloat(sectin, option): 将返回结果从str转为float
  • getboolean(sectin, option): 将返回结果从str转为boolean
  • items([section])
    • section省略,返回所有section名字及其对象
    • section不省略,返回这个指定section的键值对组成的二元组
  • set(section, option, value):写入option=value键值对
    • 要求section必须存在
    • 要求option、value必须是字符串
  • remove_section(section): 移除section及其所有option
  • remove_option(section, option): 移除section下的所有option
  • write(fileobject): 将当前config的内容写入fileobject中
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • php usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解包。 uni...
    思梦PHP阅读 1,981评论 1 24
  • pyspark.sql module Module context Spark SQL和DataFrames中的重...
    盗梦者_56f2阅读 5,407评论 0 19
  • 不要生病,不要啰嗦,不要哭,不要睡不着,不要咄咄逼人,不要见到你......不要,表达了很多情绪,厌恶、...
    何小一i阅读 238评论 0 3
  • 及时行乐,挥霍人生,听上去貌似是贬义。 你没有看错,我是来鼓励你们的。 而且,我所指的挥霍人生就是字面意思,真的还...
    布丁仝阅读 401评论 0 0
  • 我们走在两条平行线上 只能相望却不能相守 在这走婚桥旁 走上却迈不开 也许不相交的两个人 即使遇上也没有交集 那古...
    乔岩忆梦阅读 221评论 0 0