小编Joh*_*Doe的帖子

如何使用 PyMySQL 将 Pandas 数据框插入 MySql

我有一个 DataFrame,它有大约 30,000 多行和 150 多列。因此,目前我正在使用以下代码将数据插入 MySQL。但是由于它一次读取一行,因此将所有行插入到 MySql 中花费了太多时间。

有什么方法可以一次或批量插入所有行?这里的限制是我只需要使用 PyMySQL,我不能安装任何其他库。

import pymysql
import pandas as pd

# Create dataframe
data = pd.DataFrame({
    'book_id':[12345, 12346, 12347],
    'title':['Python Programming', 'Learn MySQL', 'Data Science Cookbook'],
    'price':[29, 23, 27]
})


# Connect to the database
connection = pymysql.connect(host='localhost',
                         user='root',
                         password='12345',
                         db='book')


# create cursor
cursor=connection.cursor()

# creating column list for insertion
cols = "`,`".join([str(i) for i in data.columns.tolist()])

# Insert DataFrame recrds one by one.
for i,row in data.iterrows():
    sql = "INSERT INTO …
Run Code Online (Sandbox Code Playgroud)

python mysql dataframe pandas pymysql

6
推荐指数
2
解决办法
7219
查看次数

如何获得此输出?

我有一个很大的Pandas Data Frame。其中一部分如下所示:

 Rule_Name Rule_Seq_No  Condition Expression  Type   

Rule P     1            ID         19909       Action      
Rule P     1            Type       A           Condition   
Rule P     1            System     B           Condition   
Rule P     2            ID         19608       Action      
Rule P     2            Type       A           Condition  
Rule P     2            System     C           Condition   
Rule S     1            ID         19909       Action      
Rule S     1            Type       A           Condition   
Rule S     1            System     M           Condition   
Rule S     2            ID         19608       Action     
Rule S     2            Type       C           Condition   
Rule S     2            System …
Run Code Online (Sandbox Code Playgroud)

dataframe python-3.x pandas

2
推荐指数
1
解决办法
38
查看次数

标签 统计

dataframe ×2

pandas ×2

mysql ×1

pymysql ×1

python ×1

python-3.x ×1