2.pandas数据读取

尝试本节代码之前,必须成功安装pandas。
常见的数据来源,有TXT格式(例:空格分隔)、Excel格式、数据库表格(例:mysql数据库表格)、以及数组(list)和字典(dict)格式数据。

0 数据格式

尝试时,请先将下表另存为相应的数据格式。

仓库 仓库ID SKU 状态 批次 效期 批号 发货数 收货数
备货仓 7 102001 1 YQ1HMC 2019-08-16 20190816 11 11
华东仓(原零售仓) 5 102001 1 YQ1HMC 2019-08-16 20190816 5 5
备货仓 7 102001 3 YQ1HMC 2019-08-16 20190816 1 1
华东仓(原零售仓) 5 102002 1 YQ1HMB 2019-08-15 20190815 6 6
华东仓(原零售仓) 5 102005 1 YQ1HMB 2019-08-16 20190816 10 10
备货仓 7 102101 3 CSQA002 2018-01-30 20180130 1 1
华东仓(原零售仓) 5 102104 1 CSRF001 2019-07-05 20190705 6 6
备货仓 7 102104 3 dfhg 2019-07-05 20190705 1 1
华东仓(原零售仓) 5 102105 1 CSRE001 2019-05-24 20190524 2 2
备货仓 7 102105 3 0411A 2019-05-24 20190524 1 1
华东仓(原零售仓) 5 102111 1 CSRF001 2019-07-05 20190705 2 2
华东仓(原零售仓) 5 102111 1 fh22 2019-07-05 20190705 1 1
备货仓 7 102111 3 dg0h52 2019-05-02 20190502 1 1
备货仓 7 102113 3 CSRF002 2019-07-05 20190705 1 1
华东仓(原零售仓) 5 102114 1 A 2019-06-18 20190618 1 1
备货仓 7 102114 3 fh02 2019-06-18 20190618 1 1
华东仓(原零售仓) 5 102115 1 2019-07-04 20190704 1 1
备货仓 7 102116 1 YQ2FMA 2019-06-06 20190606 6 6
华东仓(原零售仓) 5 102116 1 YQ2FMA 2019-06-06 20190606 7 7

1 TXT格式数据的读取(此处使用空格为分隔符)

此处需留意TXT文件的编码格式。如不是UTF-8格式,而是GBK格式,须在open函数中做相应调整。

import pandas as pd
with open('G:/test/2.pandas数据读取 TXT格式.txt', 'r', encoding='UTF-8') as f:
  table = pd.read_table(f, sep=' ', index_col=0, header=None, names=['仓库','仓库编号','SKU','状态','批次','有效日期','批号','发货数量','收货数量'],lineterminator='\n')

2.pandas数据读取_第1张图片
TXT格式

2 Excel格式数据的读取

下述是常用方法,其中names参数用于重命名。但pandas读取Excel数据的方法,貌似不可以根据Excel的名称管理器读取数据,而是读取某sheet的全部数据。

import pandas as pd
table = pd.read_excel('G:/test/2.pandas数据读取 Excel格式.xlsx', sheetname='Sheet1', names=['仓库','仓库编号','SKU','状态','批次','有效日期','批号','发货数量','收货数量'])

2.pandas数据读取_第2张图片
Excel格式

3 数据库表格数据的读取

此处使用mysql做演示

import pandas as pd
from sqlalchemy import create_engine
engine = create_engine("mysql+mysqldb://username:password@server_ip:server_port/database_name?charset=utf8")
table = pd.read_sql_query(con=engine,sql="SELECT `仓库`,`仓库编号`,`SKU`,`状态`,`批次`,`有效日期`,`批号`,`发货数量`,`收货数量` FROM demo_inv")

4 数组(list)和字典(dict)格式数据的读取

数组可轻松转成DateFrame格式,但json格式的数据,由于其结构复杂度,不是很容易转化。比较合适的方式,是先将字典转成数组,然后再转成DateFrame格式,此处不做展示

import pandas as pd
table = pd.DataFrame([["备货仓","7","102001","1","YQ1HMC","2019-08-16","20190816","11","11"],["华东仓(原零售仓)","5","102001","1","YQ1HMC","2019-08-16","20190816","5","5"]],columns=['仓库','仓库编号','SKU','状态','批次','有效日期','批号','发货数量','收货数量'])

你可能感兴趣的:(2.pandas数据读取)