美文网首页
Excel导入数据库(字段表名不一样)

Excel导入数据库(字段表名不一样)

作者: 叶叶阿姨 | 来源:发表于2021-02-08 10:16 被阅读0次

一堆Excel需要导入数据库,但是表名和字段完全不一样(需要改名,并且不是所有字段都要)
1.先打开文件

import pandas as pd
# 读数据
pd.read_csv(filename)  # 读取 csv文件
pd.read_excel(filename)  # 读取 xls文件
pd.read_excel(filename, sheet_name=0)   # 读取 xlsx文件
pd.read_table(filename)  # 读取 TXT文件
pd.read_sql(sql=query, con=connection_object)  # 进行sql语句操作,并读取
 data = pd.read_excel(r'D:\监控报表\日报\日报模板\全国区域与运营中心.xls')
    test_data = []  # 需要用到的字段
    area_data = []  # 区域
    for i in data.index.values:  # 获取行号的索引,并对其进行遍历:
        # 根据i来获取每一行指定的数据 并利用to_dict转成字典
        row_data = data.loc[i, ['二级组织机构名称', '三级组织机构名称', '四级组织机构名称']].to_dict()
        test_data.append(row_data)
        area_data.append(row_data['二级组织机构名称'])
        # print("最终获取到的数据是:{0}".format(test_data))
    area_data = list(set(area_data))  # 去重的区域列表
    # 写入区域
    for i in area_data:
        if Region.objects.filter(region_name=i):
            print('区域已存在')
        else:
            Region.objects.create(region_name=i)
            # print(i, '区域写入完成')
    # 写入运营中心
    for i in test_data:
        if OperCent.objects.filter(name=i['三级组织机构名称']):
            print(i, '运营中心已存在')
        else:
            # print('运营中心需写入', i['三级组织机构名称'], i['二级组织机构名称'])
            region_id = Region.objects.filter(region_name=i['二级组织机构名称']).first()
            # print(region_id)
            OperCent.objects.create(name=i['三级组织机构名称'], region_name=region_id)
    # 写入运
    for i in test_data:
        if Tran.objects.filter(tran_name=i['四级组织机构名称']):
            print(i, '四级组织机构已存在')
        else:
            # print('四级组织机构心需写入', i['四级组织机构名称'])
            opercent_id = OperCent.objects.filter(name=i['三级组织机构名称']).first()
            # print(opercent_id)
            Tran.objects.create(tran_name=i['三级组织机构名称'], operent_name=opercent_id)
    ------------------------------ 写入单仓 -------------------------------
    读取整个csv文件
    csv_data = pd.read_csv(r"D:\监控报表\日报\日报模板\全国运营中心下的单仓.csv", engine='python', encoding='gb2312')
    sj_test_data = []  # 需要用到的字段
    for i in csv_data.index.values:
        row1_data = csv_data.loc[i, ['操作区名称', '运营中心名称', '项目名称', '仓配库房名称']].to_dict()
        sj_test_data.append(row1_data)
    # 写入单仓
    for i in sj_test_data:
        if Warh.objects.filter(warh_name=i['仓配库房名称']):
            print(i['仓配库房名称'], '单仓已存在')
        else:
            print('单仓需写入', i['仓配库房名称'])
            opercent_id = OperCent.objects.filter(name=i['运营中心名称']).first()
            region_id = Region.objects.filter(region_name=i['操作区名称']).first()
            Warh.objects.create(warh_name=i['仓配库房名称'], project=i['项目名称'], operent_name=opercent_id, region_name=region_id)


相关文章

  • Excel导入数据库(字段表名不一样)

    一堆Excel需要导入数据库,但是表名和字段完全不一样(需要改名,并且不是所有字段都要)1.先打开文件

  • kettle_3添加数据库表字段

    根据excel表数据字段中表名、字段名、字段类型、类型长度、小数长度,在数据库对应表中添加相应字段。1.excel...

  • excel表数据的导入导出

    从excel表导入MySQL数据库 从MySQL数据库写入excel表 PostgreSQL可参考:

  • 时区

    Django某一张表有open_date字段,类型为DateTimeField 假如我们要从excel向数据库导入...

  • kettle_2自动创建数据库表

    根据excel表格某个字段值,创建数据库表,数据库使用pg。1.excel表输入2.字段选择在“选择和修改”菜单,...

  • 将EXCEL数据导入内表中

    方法可以将excel的数据导入至内表,但要求excel字段和内表字段一致。 方法一

  • 数据导入

    数据导入——Excel 文本导入 数据库导入数据量大选择透视表 网站导入

  • 查询MYSQL表注释以及字段注释

    查询MYSQL数据库所有表名以及表注释 查询MYSQL数据库所有字段名以及字段注释

  • mysql 常用语句

    查询数据库下所有表名、表注释 查询数据库下字典表下所有字段名、数据类型、字段注释 查询数据库下所有表下所有字段名、...

  • 2018-08-20day11数据库增删改查

    C.数据库删除 delete表名where 字段名=字段值 清空表 delete from表名(不释放)trunc...

网友评论

      本文标题:Excel导入数据库(字段表名不一样)

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