Python 数据处理系列博客来啦!
本系列将以《Python数据处理》这本书为基础,以书中每章一篇博客的形式带大家一起学习 Python 数据处理。书中有些地方讲的不太详细,我会查阅其他资料来补充,力争每篇博客都把知识点涵盖全且通俗易懂。
这本书主要讲了如何用 Python 处理各种类型的文件,如 JSON、XML、CSV、Excel、PDF 等。后面几章还会讲数据清洗、网页抓取、自动化和规模化等使用技能。我也是 Python 初学者,将以初学者的角度写文章,所以博客对初学者比较友好。
100
多位经验丰富的开发者参与,在 Github 上获得了近1000
个star
的全栈全平台开源项目想了解或参与吗?
项目地址:https://github.com/cachecats/coderiver
前言
以易于机器理解的方式来存储数据的文件格式,通常被称作机器可读的 (machine readable)。常见的机器可读格式包括:
- 逗号分隔值(Comma-Separated Values,CSV)
- JavaScript 对象符号(JavaScript Object Notation,JSON)
- 可扩展标记语言(eXtensible Markup Language,XML)
在口语和书面语中,提到这些数据格式时通常使用它们的短名字(如 CSV)。 我们将使用这些缩写 。
一、CSV数据
CSV 文件(简称为 CSV)是指将数据列用逗号分隔的文件。文件的扩展名是 .csv。
另一种数据类型,叫作制表符分隔值(tab-separated values,TSV)数据,有时也与 CSV归为一类。TSV 与 CSV 唯一的不同之处在于,数据列之间的分隔符是制表符(tab),而不是逗号。文件的扩展名通常是 .tsv,但有时也用 .csv 作为扩展名。从本质上来看,.tsv 文件与 .csv 文件在Python 中的作用是相同的。
我们采用的数据源是从世界卫生组织(https://www.who.int/zh/home)中下载的数据。
打开世卫组织官网后,点击“健康主题”,“数据和统计” 就能找到很多数据。
这里下载了关于婴幼儿护理的统计数据,并重命名为 data.csv
。
csv 文件可以直接用 Excel 打开直观的看到,我们用 Excel 打开如下图:
接下来就要用 Python 来简单的处理这些数据。
以列表的形式读取csv数据
编写一个读取 csv 文件的程序:
import csv
csvfile = open('./data.csv', 'r')
reader = csv.reader(csvfile)
for row in reader:
print(row)
import csv
将导入 Python 自带的 csv 模块。csvfile = open('./data.csv', 'r')
以只读的形式打开数据文件并存储到变量 csvfile
中。然后调用 csv 的 reader()
方法将输出保存在 reader
变量中,再用 for 循环将数据输出。
运行程序,控制台输出:
可以看到跟 Excel 打开的内容一致。
以字典的形式读取csv数据
改一下代码,以字典的形式读取 csv
import csv
csvfile = open('./data.csv', 'r')
reader = csv.DictReader(csvfile)
for row in reader:
print(row)
控制台输出:
二、JSON数据
同样在世卫组织官网下载数据源,重命名为 data.json
。用格式化工具打开 json
文件如下:
编写程序对 json 进行解析
import json
# 将 json 文件读取成字符串
json_data = open('./data.json').read()
# 对json数据解码
data = json.loads(json_data)
# data 的类型是 字典dict
print(type(data))
# 直接打印 data
print(data