美文网首页我爱编程
2.pandas数据读取

2.pandas数据读取

作者: B0ZZ | 来源:发表于2017-10-22 18:30 被阅读0次
    尝试本节代码之前,必须成功安装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')
    
    
    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','状态','批次','有效日期','批号','发货数量','收货数量'])
    
    
    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数据读取

        本文链接:https://www.haomeiwen.com/subject/gqzguxtx.html