DataFrame 是一种二维数据结构,通常用于数据处理和分析。它类似于表格,包含行和列,每列可以是不同的数据类型(如整数、字符串、浮点数等)。MySQL 是一种关系型数据库管理系统,用于存储和管理数据。
在将 DataFrame 存入 MySQL 时,通常涉及以下几种类型:
原因:DataFrame 中的数据编码与 MySQL 数据库的编码不匹配。
解决方法:
pymysql
连接 MySQL 数据库时,可以这样设置:import pymysql
import pandas as pd
# 创建连接
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
# 创建 DataFrame
data = {'name': ['张三', '李四'], 'age': [25, 30]}
df = pd.DataFrame(data)
# 将 DataFrame 存入 MySQL
df.to_sql('users', con=conn, if_exists='replace', index=False)
# 关闭连接
conn.close()
原因:数据量过大,单条插入操作效率低下。
解决方法:
to_sql
方法的 chunksize
参数,分块插入数据。import pymysql
import pandas as pd
# 创建连接
conn = pymysql.connect(host='localhost', user='root', password='password', db='test', charset='utf8mb4')
# 创建 DataFrame
data = {'name': ['张三', '李四'] * 1000, 'age': [25, 30] * 1000}
df = pd.DataFrame(data)
# 将 DataFrame 存入 MySQL,分块插入
df.to_sql('users', con=conn, if_exists='replace', index=False, chunksize=1000)
# 关闭连接
conn.close()
希望这些信息对你有所帮助!如果有其他问题,请随时提问。
领取专属 10元无门槛券
手把手带您无忧上云