加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

让你在10分钟内掌握如何用Python将数据批量的插入到数据库

发布时间:2021-05-28 02:15:28 所属栏目:大数据 来源:互联网
导读:本文基于python, 行使pandas, pymysql等三方库实现了向数据库中高效批量插入数据,一方面提供被网上许多瞎转载的谜底给坑蒙了的人(由于我也是),一方面本身也做

df2 = pd.read_csv(your_file_path2, dtype={"column1": str, "column2": str}, delimiter="/t") 

# 归并 

ret_df = pd.merge(df1, df2, left_on=["column_name"], right_on=["column_name"], how="left") 

 

# 先建设cursor认真操纵conn接口 

conn = mysql_conn("your db host", "your username", "your password", "db name") 

cursor = conn.cursor() 

# 开启事宜 

conn.begin() 

 

# 先结构必要的或是和数据库相匹配的列 

columns = list(df.columns) 

# 可以删除不要的列可能数据库没有的列名 

columns.remove("列名") 

# 从头结构df,用上面的columns,到这里你要担保你全部列都要筹备往数据库写入了 

new_df = df[columns].copy() 

 

# 结构切合sql语句的列,由于sql语句是带有逗号脱离的,(这个对应上面的sql语句的(column1, column2, column3)) 

columns = ','.join(list(new_df.columns)) 

 

# 结构每个列对应的数据,对应于上面的((value1, value2, value3)) 

data_list = [tuple(i) for i in gdsord_df.values] # 每个元组都是一条数据,按照df行数天生几多元组数据 

 

# 计较一行有几多value值必要用字符串占位 

s_count = len(data_list[0]) * "%s," 

 

# 结构sql语句 

insert_sql = "insert into " + "数据库表名" + " (" + columns + ") values (" + s_count[:-1] + ")" 

try: 

  cursor.executemany(insert_sql, data_list) 

  conn.commit() 

  cursor.close() 

  conn.close() 

except Exception as e: 

  # 万一失败了,要举办回滚操纵 

  conn.rollback() 

  cursor.close() 

  conn.close() 

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读