让你在10分钟内掌握如何用Python将数据批量的插入到数据库
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() (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |