源数据采集到数据库中(excel、kettle、python)

源数据采集的三种方式

我们对excel类型的表格数据类型的数据源进行采集到数据库中的时候,通常可以采用三种方式

第一种:利用excel工具,从原表里拿取需要的字段数据,在excel里面构建成数据库表的结构,最后导入到数据库中

第二种:利用kettle工具,配置数据库连接,新建转换任务,在转换任务里首先配置输入任务excel表格里的格式,再配置输出任务里面的表输出格式,进行转换

第三种:利用python语句进行一个excel表格的读取,首先配置数据库连接,然后读取excel文件,逐条遍历成集合,用字段接受每次遍历的对应下标数据,最后插入到数据库中去

import pymysql
import xlrd

"""
一、连接mysql数据库
"""
# 打开数据库连接
conn = pymysql.connect(
    host='localhost',  # 主机名
    user='root',  # 用户名
    password='',  # 密码
    charset='utf8',  # 编码格式
    port=3306,  # 端口
    db='ssm',  # 数据库名称
)

# 使用cursor()方法获取操作游标
c = conn.cursor()

"""
二、读取excel文件
"""
FilePath = 'C:/Users/16286/Desktop/dwd_tax_czsz_ss_yb.xlsx'

# 1.打开excel文件
#这边在读取xlsx文件的时候发现不能识别
# 然后上网百度发现xlrd的版本2.1不能读取xlsx文件 重装了1.2版本
wkb = xlrd.open_workbook(FilePath)
# 2.获取sheet
sheet = wkb.sheet_by_index(0)  # 获取第一个sheet表['学生信息']
# 3.获取总行数
rows_number = sheet.nrows
# 4.遍历sheet表中所有行的数据,并保存至一个空列表cap[]
cap = []
for i in range(rows_number):
    x = sheet.row_values(i)  # 获取第i行的值(从0开始算起)
    cap.append(x)
# print(cap)  # 这边验证一下是否读取到了excel表格里面的数据
"""
三、将读取到的数据批量插入数据库
"""
for Stu in cap:
    rq = Stu[0]
    czqh_dm = Stu[1]
    czqh_mc = Stu[2]
    i_row = Stu[3]
    srkm_dm = Stu[4]
    srkm_mc = Stu[5]
    sr_amt = Stu[6]
    zckm_dm = Stu[7]
    zckm_mc = Stu[8]
    zc_amt = Stu[9]

    # 使用f-string格式化字符串,对sql进行赋值
    c.execute(f"insert into dwd_tax_czsz_ss_yb(rq,czqh_dm,czqh_mc,i_row,srkm_dm,srkm_mc,sr_amt,zckm_dm,zckm_mc,zc_amt ) value ('{rq}','{czqh_dm}','{czqh_mc}','{i_row}','{srkm_dm}','{srkm_mc}','{sr_amt}','{zckm_dm}','{zckm_mc}','{zc_amt}')")
conn.commit()
conn.close()
print("插入数据完成!")

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值