我有一个 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) 我有一个很大的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)