Python 编程快速上手 第十四章 处理 CSV 文件和 JSON 数据

时间:2021-07-14 23:56:44

前言

这一章分为两个部分,处理 CSV 格式的数据和处理 JSON 格式个数据。

处理 CSV

理解 csv

csv 的每一行代表了电子表格中的每一行,每个逗号分开两个单元格
csv 的内容全部为文本,因此具有简单的优势。

csv 模块的应用

csv 模块为 python 自带模块, import csv 即可导入。

csv 文件的导入

分两个步骤:

  1. 打开这个文件,得到一个 File 对象:exampleFIle = open('example.csv')
  2. 使用 csv 的方法 reader(), 参数为 File 对象,得到一个 Reader 对象:exampleReader = csv.reader(exampleFile)

访问 csv 的数据

方法一:使用 list() 处理 exampleReader
方法二:使用 [row][col] 来得到单元格的值
方法三:使用 exampleReader.line_num 这一个 property 获得一行的值

csv 文件的写入

和导入相似,分两个步骤:

  1. 打开这个文件,得到一个 File 对象:exampleFIle = open('example.csv')
  2. 使用 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 数据的更多相关文章

  1. Python 编程快速上手 第十五章 保持时间,计划任务和启动程序

    前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程 ...

  2. python编程快速上手之第10章实践项目参考答案

      本章主要讲了python程序的调试,当程序有BUG或异常的时候,我们如何调试代码找出问题点.其实在本章之前的章节我们做练习的时候都会遇到各种各样的错语和异常,最初当不知道程序哪里出错的情况下不可否 ...

  3. python编程快速上手之第9章实践项目参考答案

    本章介介绍了shutil,zipfile模块的使用,我们先来认识一下这2个模块吧. 一.shutil模块 shutil模块主要用于对文件或文件夹进行处理,包括:复制,移动,改名和删除文件,在shuti ...

  4. python编程快速上手之第8章实践项目参考答案

    第8章实践项目之疯狂填词 创建一个一个疯狂填词(Mad Libs),程序,它将读入文本文件,并让用户在该文本文件中出现 ADJECTIVE,NOUN,VERB等单词的地方,加上他们自己的文本. 首先准 ...

  5. python编程快速上手之第5章实践项目参考答案

    #!/usr/bin/env python3.5 # coding:utf-8 # 5.6.1 # 好玩游戏的物品清单 # 给定一个字典,包含物品名称和数量,并打印出数量对应的物品 dict_stuf ...

  6. python编程快速上手之第3章实践项目参考答案

    1 #!/usr/bin/env python 2 # coding:utf-8 3 # write by mfyang 4 # collatz.py 5 # 从用户读入一个值,并判断这个值是不是一个 ...

  7. Python 编程快速上手 第十八章 用 GUI 自动化控制键盘和鼠标

    前言 这一章节讲述了如何实现 GUI 自动化,首先讲了一些处理异常状况的方法,然后是关于 GUI 自动化的内容,主要有三个部分: 控制鼠标 图像识别 控制键盘 下面引用一段话: 请将 GUI 自动化看 ...

  8. python编程快速上手之第7章实践项目参考答案

    #!/usr/bin/env python3.5 #coding:utf-8 import re # 7.18.1 # 强口令检测 # 写一个函数,使用正则表达式,确保传入的口令字符串是强口令 # 长 ...

  9. python编程快速上手之第6章实践项目参考答案

    #!/usr/bin/env python3.5 2 #coding:utf-8 3 # 4 # 这个项目主要目的是字符串的处理,简单格式化输出 5 tableData = [['apples','o ...

随机推荐

  1. ASP.NET中基本语言特性

    自动属性 public string Name { get; set; } 对象与集合的初始化 //自动推断类型//集合的初始化 var Products=new List<Product&gt ...

  2. JavaScript模块化开发&amp&semi;&amp&semi;模块规范

    在做项目的过程中通常会有一些可复用的通用性功能,之前的做法是把这个功能抽取出来独立为一个函数统一放到commonFunctions.js里面(捂脸),实现类似于snippets的代码片段收集. fun ...

  3. EasyUI两种动态添加tab Iframe页面的方法

    /** 动态添加tab-----方式一 **/ function addIframeTab(titleTxt,href,icon) { $('#mytabs').tabs('addIframeTab' ...

  4. 2015 多校联赛 ——HDU5349(水)

    Problem Description A simple problem Problem Description You have a multiple set,and now there are t ...

  5. Web Scraper爬取就是这么简单

    这应该是最全的一个文档了 https://www.jianshu.com/p/e4c1561a3ea7 所以我就不介绍了,大家直接看就可以了,有问题可以提出来,我会针对问题对文章进行补充~

  6. IntelliJ IDEA 2017版 编译器使用学习笔记&lpar;三&rpar; &lpar;图文详尽版&rpar;&semi;IDE快捷键使用

    一.列操作 功能:操作多行列执行相同的功能,达到一次修改多行同类型数据的情况,如图:                 Json字符串,转为枚举类的字段: 首先进行,快捷键一行快速操作 1.选中命令,s ...

  7. avalon学习教程

    最近在项目中发现了个很不错的前端MVVM框架 avalon,对于基础的使用大概学习了一遍,有些深入的没应用场景还没细看. 收藏好,估计以后要用 http://www.html-js.com/artic ...

  8. adobe reader DC 字体设置

    adobe reader DC 字体设置 一直使用adobe reader阅读pdf文档,系统提醒我升级一个reader助手, 升级之后: 感觉字体颜色变浅,笔画也变细了,整体有些模糊不清. goog ...

  9. RenderMonkey 练习 第三天 【OpenGL renderToTexture】

    渲染到纹理: 1. 新建一个OpenGL 空effect; 2. 添加渲染目标纹理, Add Texture-> Add Render Texture 3. 添加一个渲染pass 4. 将pas ...

  10. cocos2d-x入口类

    上一篇文章中有一个在栈中创建的实例--AppDelegate.这个类的初始化使cocos2d-x的程序能够执行起来.由于它是继承于CCApplication类.而执行的run方法就是在此类中实现的. ...