数据预处理基础知识(五) | 「掘金日新计划 · 12 月更文挑战」

174 阅读4分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第9天

一、本篇笔记重点内容:

  • 数据转换
  • 常见文件格式
  1. Excel
  2. 逗号分隔符文件(CSV)
  3. JSON文件
  4. 数据库
  5. HTML文件
  • 常见文件之间格式转换
  1. Excel to CSV
  2. 使用Python第三方库实现从Excel到csv的转换
  3. CSV to Excel
  4. JSON to CSV

二、详细知识点介绍

常见文件格式和格式转换

Excel

  • 通过表格样式来展示数据,并通过内建的公式函数来对数据做处理分析,遵循“ 所见即所得”的原则,符合直观经验
  • Excel文件存储的数据容量有限
  • Excel文件的后缀名一般为xls,xlsx

不同版本的Excel文件对数据集的大小有限制,如下表

image.png 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中需要读取的工作表,有以下方式:
  1. 使用从0开始的整数,0代表第一个工作表;
  2. 使用字符串来表示,sheet1代表第一个工作表;
  3. 使用列表来同时读取多个工作表, [0,1,2]代表前三个工作表; Header:指定数据表的表头

read_excel函数

  • names:返回指定name的列
  • encoding:关键字参数,指定以何种编码读取
  • to_csv函数
  1. 主要参数为:excel_writer
  2. excel_writer:写入的目标excel文件,可以是文件路径、ExcelWriter对象
  3. 由于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字符串的拼接。

image.png

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()