Python 编程快速上手 第十四章 处理 CSV 文件和 JSON 数据
前言
这一章分为两个部分,处理 CSV 格式的数据和处理 JSON 格式个数据。
处理 CSV
理解 csv
csv 的每一行代表了电子表格中的每一行,每个逗号分开两个单元格
csv 的内容全部为文本,因此具有简单的优势。
csv 模块的应用
csv 模块为 python 自带模块, import csv 即可导入。
csv 文件的导入
分两个步骤:
- 打开这个文件,得到一个 File 对象:exampleFIle = open('example.csv')
- 使用 csv 的方法 reader(), 参数为 File 对象,得到一个 Reader 对象:exampleReader = csv.reader(exampleFile)
访问 csv 的数据
方法一:使用 list() 处理 exampleReader
方法二:使用 [row][col] 来得到单元格的值
方法三:使用 exampleReader.line_num 这一个 property 获得一行的值
csv 文件的写入
和导入相似,分两个步骤:
- 打开这个文件,得到一个 File 对象:exampleFIle = open('example.csv')
- 使用 csv 的方法 writer(), 参数为 File 对象,得到一个 Writer 对象:exampleReader = csv.writer(exampleFile)
可以使用 Writer 对象的 writerow() 方法来写入具体的数据。() 中为列表值。
更改 csv 文件的分隔方式:使用 delimiter 和 lineterminator 关键字
csv.writer()的关键字 delimiter 决定文件的分隔符, lineterminator 决定文件的行终止符。
范例:
若将分隔符改为制表符,行终止符为两个换行符,则为:
csv.writer(csvFile, delimiter,='\t', lineterminator ='\n\n')
处理 JSON(JavaScript Object Natation)
理解 JSON
JSON 是 JavaScript 编写数据结构的原生方式,其能够作为程序与网站交互的方式,即 API(应用程序编程接口)。API 返回机器格式化的数据,如 JSON。
json 模块的应用
读取 JSON 和写出 JSON: json.loads() 和 json.dumps()
json.loads() 接受一个 JSON 格式的值,返回一个 Python 的 dictionary.
json.dumps() 接受一个 dictionary,返回一个 JSON 格式的值。
Python 编程快速上手 第十四章 处理 CSV 文件和 JSON 数据的更多相关文章
- Python 编程快速上手 第十五章 保持时间,计划任务和启动程序
前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程 ...
- python编程快速上手之第10章实践项目参考答案
本章主要讲了python程序的调试,当程序有BUG或异常的时候,我们如何调试代码找出问题点.其实在本章之前的章节我们做练习的时候都会遇到各种各样的错语和异常,最初当不知道程序哪里出错的情况下不可否 ...
- python编程快速上手之第9章实践项目参考答案
本章介介绍了shutil,zipfile模块的使用,我们先来认识一下这2个模块吧. 一.shutil模块 shutil模块主要用于对文件或文件夹进行处理,包括:复制,移动,改名和删除文件,在shuti ...
- python编程快速上手之第8章实践项目参考答案
第8章实践项目之疯狂填词 创建一个一个疯狂填词(Mad Libs),程序,它将读入文本文件,并让用户在该文本文件中出现 ADJECTIVE,NOUN,VERB等单词的地方,加上他们自己的文本. 首先准 ...
- python编程快速上手之第5章实践项目参考答案
#!/usr/bin/env python3.5 # coding:utf-8 # 5.6.1 # 好玩游戏的物品清单 # 给定一个字典,包含物品名称和数量,并打印出数量对应的物品 dict_stuf ...
- python编程快速上手之第3章实践项目参考答案
1 #!/usr/bin/env python 2 # coding:utf-8 3 # write by mfyang 4 # collatz.py 5 # 从用户读入一个值,并判断这个值是不是一个 ...
- Python 编程快速上手 第十八章 用 GUI 自动化控制键盘和鼠标
前言 这一章节讲述了如何实现 GUI 自动化,首先讲了一些处理异常状况的方法,然后是关于 GUI 自动化的内容,主要有三个部分: 控制鼠标 图像识别 控制键盘 下面引用一段话: 请将 GUI 自动化看 ...
- python编程快速上手之第7章实践项目参考答案
#!/usr/bin/env python3.5 #coding:utf-8 import re # 7.18.1 # 强口令检测 # 写一个函数,使用正则表达式,确保传入的口令字符串是强口令 # 长 ...
- python编程快速上手之第6章实践项目参考答案
#!/usr/bin/env python3.5 2 #coding:utf-8 3 # 4 # 这个项目主要目的是字符串的处理,简单格式化输出 5 tableData = [['apples','o ...
随机推荐
- forever 用法
安装过Node.js后再安装forever,需要加-g参数,因为forever要求安装到全局环境下: npm install forever -g 常用指令: npm install forever ...
- JAVA中拆箱和装箱
浅谈JAVA中拆箱与装箱 一. 什么是装箱?什么是拆箱? 在Java SE5之前,如果要生成一个数值为10的Integer对象,必须这样进行: Integer i = new Integer(10) ...
- 【专家坐堂Q&A】在 petalinux-config 中选择外部来源时,可将符号链路添加内核来源目录树
问题描述 作为 petalinux-config 菜单的一部分,现在可以将 Linux 内核指定为外部来源. 如果选择了该选项,可为内核来源目录树添加两个符号链路. 这会带来两个问题: 1. 符号链路 ...
- os模块,os.path模块,subprocess模块,configparser模块,shutil模块
1.os模块 os表示操作系统该模块主要用来处理与操作系统相关的操作最常用的文件操作打开 读入 写入 删除 复制 重命名 os.getcwd() 获取当前执行文件所在的文件夹路径os.chdir(&q ...
- InstallShield.12完美使用
转载:http://www.360doc.com/content/13/0517/10/7918060_286039102.shtml 转载:http://jingyan.baidu.com/arti ...
- Python3 tkinter基础 Entry state 不可写 可以选 可复制的输入框
Python : 3.7.0 OS : Ubuntu 18.04.1 LTS IDE : PyCharm 2018.2.4 Conda ...
- linux lsof/netstat查看进程和端口号相关命令:
本文为博主原创,未经允许不得转载: 在linux操作时,经常要查看运行的项目的进程和端口号,在这里总结了以下常用到的相关命令: 1.查看系统运行的java项目,并查看进程号 这个用到的命令为: ps ...
- How to install Bekeley Extension Software Switch(BESS)?
参考: Github BESS How to install Bekeley Extension Software Switch(BESS)? Introduction BESS is a modul ...
- js操作css变量
原文:http://css-live.ru/articles/dostup-k-css-peremennym-i-ix-izmenenie-spomoshhyu-javascript.html :ro ...
- Entity Framework Core导航属性加载问题
前言 今天下午在开发的时候发现EF Core实体模型中的导航属性为 null,经排查既不是没有加 virtual 关键字,也不是外键关系映射错误. 解决方法 通过查询官网文档,发现,原因在于EF Co ...