十四、处理CSV文件和JSON数据

关于《python编程快速上手-让繁琐工作自动化》的学习笔记

CSV文件是简化的电子表格,保存为纯文本文件;JSON以JavaScript源代码的形式将信息保存在纯文本文件中。

1.CSV模块

CSV文件中的每行代表电子表格中的一行,逗号分割了该行中的单元格。

  • Reader对象
    使用CSV模块从CSV文件中读取数据,需要创建一个Reader对象,Reader对象可以迭代遍历CSV文件中的每一行。
>>> import csv
>>> csvfile=open('test.csv')
>>> csvreader=csv.reader(csvfile)
>>> csvdata=list(reader)
>>> csvdata
[['1', '', '', '', '', ''], ['', '2', '', '', '', ''], ['', '', '3', '', '', '']]
>>> csvdata[0][0]
'1'
  • 在for循环中,从Reader对象读取数据
    对于大型的CSV文件,需要在一个for循环中使用Reader对象,这样可以避免将整个文件一次性转入内存
  • Writer对象
    Writer对象将数据写入CSV文件,要创建一个Writer对象就要使用csv.writer()函数。首先调用open()并传入’w’,以写模式打开一个文件,这将创建对象,然后将它传递给csv.writer()创建一个Writer对象(如果忘记在open()中加入newline=’'关键字,CSV文件将有两倍行距)。Writer对象的writerow()方法接受一个列表参数,writerow()函数的返回值是写入文件这一行的字符数(包括换行符)
>>> import csv
>>> outfile=open('test.csv','w',newline='')
>>> writer=csv.writer(outfile)
>>> writer.writerow(['spam','eggs','bacon','ham'])
21
>>> outfile.close()
  • delimiter和lineterminator关键词参数
    默认情况下,csv文件的分隔符是逗号,行终止符是出现在行末的字符即换行符。可以使用csv.writer()的delimiter和lineterminator关键词参数修改成不同的值

2.JSON和API

  • json模块
    • 使用loads()函数读取JSON
      调用loads()函数,向它传入一个JSON数据字符串
    >>> import json
    >>> stringjson='{"name":"zophie","iscat":"true","felineIQ":"null"}'
    >>> jsondata=json.loads(stringjson)
    >>> jsondata
    {'name': 'zophie', 'iscat': 'true', 'felineIQ': 'null'}
    
    • 使用dumps函数写出JSON
      json.dumps()函数将一个python值转换为JSON格式的数据字符串。
    >>> string='{"name":zophie,"iscat":true,"felineIQ":null}'
    >>> jsondata=json.dumps(string)
    >>> jsondata
    '"{\\"name\\":zophie,\\"iscat\\":true,\\"felineIQ\\":null}"'
    
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值