开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天
一、本篇笔记重点内容:
- 数据转换
- 常见文件格式
- Excel
- 逗号分隔符文件(CSV)
- JSON文件
- 数据库
- HTML文件
- 常见文件之间格式转换
- Excel to CSV
- 使用Python第三方库实现从Excel到csv的转换
- CSV to Excel
- JSON to CSV
二、详细知识点介绍
常见文件格式和格式转换
Excel
- 通过表格样式来展示数据,并通过内建的公式函数来对数据做处理分析,遵循“ 所见即所得”的原则,符合直观经验
- Excel文件存储的数据容量有限
- Excel文件的后缀名一般为xls,xlsx
不同版本的Excel文件对数据集的大小有限制,如下表
Excel文件的优势:
- 数据与样式保存在一个文件中
- 自带数据编辑器
- 每个单元格都有一个表达式,可以表达任意数据
逗号分隔符文件(CSV)
- 一种以分隔字符作为区分数据字段的标准纯文本文件
- 分隔字符通常为逗号,其它常用的分隔符有冒号,空格等
- 数据的每个字段之间用分隔符区分;每条记录之间用硬回车字符(Enter)区分 CSV文件的优势:
- 读写方便
- 易于实现
- 数据可以表格化展示
JSON文件
- JavaScript Object Notation的简写,是一种通用的数据交换格式
- 可以直接使用Javascript语言操作,但又独立于具体语言的限制
- 其它类型的编程语言可以通过API来解析JSON格式的数据
JSON文件可以用来表示对象
- 由多个键值对key:value组成,用大括号{}表示
- 每个键值对之间用逗号分隔
- 格式: object={“key1”:“value1”, “key2”:“value2”}
JSON文件可以表示多个对象的数组
- 由多个JSON对象嵌套组成,用方括号[]表示;
- 每个对象之间用逗号分隔;
- 格式: array =[{“key1”:“value1”}, {“key2”:“value2”}] JSON文件的优势:
- JSON取值有多种形式: 数字、字符串、对象、数组
- JSON具有自我解释性,一目了然,便于快速理解数据的含义;
- JSON允许嵌套;
数据库
- 数据库是一种有效的组织和存放数据的方式
- 数据库表是一张二维表,是数据库的核心,具体负责存储数据
- 一张数据表由数据记录、属性、主键、外键、索引等组件构成
数据库表的优势:
- 实现数据共享
- 减少数据的冗余度
- 数据实现集中控制
HTML文件
- 采用超文本标记语言(Hyper Text Mark Language)编写
- 是一种带有特殊标记元素的纯文本文件
- 这些特殊的标记负责网页浏览器如何去渲染整个网页
Excel to CSV
- 将Excel文件转化为csv文件有以下两种形式:
- 将Excel文件另存为csv格式即可
- 利用Python第三方库将Excel文件转化为csv文件
使用Python第三方库实现从Excel到csv的转换
- Pandas库的函数read_excel: 解析Excel,生成DataFrame对
- Pandas库的函数to_csv: 把DataFrame对象写入csv文件
read_excel函数
- 主要的参数为io、sheetname、header、names、encoding
- io:excel文件,可以是文件路径、文件网址
- 参数sheetname指定Excel中需要读取的工作表,有以下方式:
- 使用从0开始的整数,0代表第一个工作表;
- 使用字符串来表示,sheet1代表第一个工作表;
- 使用列表来同时读取多个工作表, [0,1,2]代表前三个工作表; Header:指定数据表的表头
read_excel函数
- names:返回指定name的列
- encoding:关键字参数,指定以何种编码读取
- to_csv函数
- 主要参数为:excel_writer
- excel_writer:写入的目标excel文件,可以是文件路径、ExcelWriter对象
- 由于DataFrame对象带有行的索引, to_csv的参数index需要设置为False
CSV to Excel
将csv文件转换为Excel文件有以下两种形式:
- 将csv文件另存为Excel文件
- 利用Python第三方库将csv文件转化为Excel文件
使用Python第三方库将csv文件转换为Excel文件
- Python语言的标准库CSV和JSON可以实现从csv文件到json文件的转换
- Python中的字典对象DictReader作为桥梁,实现CSV的读入,JSON字符串的拼接。
JSON to CSV
- 使用JSON和CSV库实现从JSON文件到CSV文件的转换
- 使用JSON库的load函数来读入JSON文件data.json
import json
json_file = open('./input/data.json','rb')
json_read = json.load(json_file, encoding='utf8')
print (json_read[0:5])
CSV库的DictWriter函数负责将数据写入CSV文件transfertocsv.csv。
import csv
with open('./input/transfertocsv.csv', 'w') as file:
writer = csv.DictWriter(file, json_read[0].keys())
writer.writeheader()
writer.writerows(json_read)
validate_csv = pd.read_csv("./input/transfertocsv.csv") # 验证csv的内容
validate_csv.head()