使用pandas将excel数据导入Mysql

6 篇文章 0 订阅
5 篇文章 0 订阅

有大概几百万行数据,每行40多列,要导入MYSQL,之前写了一个逐行读取的,但是速度偏慢,而且代码复杂,看着头晕,今天改用pandas进行读取写入,速度显著见快,而且代码极简洁。过程中也遇到了若干坑,会一一说明

# 先要安装几个库 sqlalchemy, pandas,mysql-connector
from sqlalchemy import create_engine
import pandas as pd
import os
import datetime
starttime = datetime.datetime.now()

# 定义路径
path = r'D:\2'
# 首先打开文件
files = os.listdir(path)
for i in files:
    path1 = path + '\\'+i
    data = pd.read_excel(path1)
    engine = create_engine('mysql+mysqlconnector://root:123456@localhost:3306/test')
    # 上面这句,mysql是数据库类型,mysqlconnector是数据库驱动,root是用户名,123456
    是密码,localhost是地址,3306是端口,test是数据库名称
    
'''
导入到mysql,这里有几个关键点,name是Table的名称,if_exists是指Table如果存在的几
个处理办法,默认是报错,replace是先删后写入,append是添加,chunksize很关键,如
果数据量较大,可以分批写入,chunksize后的数字就是每次写入的行数,可以加快运行速
度,而且如果Table不存在,语句能自动创建,还能根据源数据自动调整Table字段的属
性,效果很好
'''
    data.to_sql(name='test', con=engine,if_exists="append",index=False,chunksize=100)

    print('导入' + i + '成功')

endtime = datetime.datetime.now()
x = endtime - starttime
print(x.seconds)




  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
要将Excel数据导入MySQL Workbench,你可以按照以下步骤进行操作: 1. 首先,确保你已经安装了Python的`pandas`和`mysql-connector-python`库。你可以使用以下命令进行安装: ``` pip install pandas pip install mysql-connector-python ``` 2. 接下来,在Python脚本中导入所需的库: ```python import pandas as pd import mysql.connector ``` 3. Excel文件并将数据加载到DataFrame中: ```python data = pd.read_excel('your_file.xlsx') ``` 4. 建立与MySQL数据库的连接: ```python connection = mysql.connector.connect( host="your_host", user="your_username", password="your_password", database="your_database" ) ``` 请替换 `your_file.xlsx` 为你的Excel文件路径,以及填写正确的MySQL数据库连接信息。 5. 创建一个游标对象: ```python cursor = connection.cursor() ``` 6. 使用`cursor.execute()`方法创建一个INSERT语句,将数据插入到MySQL数据库中。对于每一行数据,你可以使用循环来执行插入操作。 ```python for index, row in data.iterrows(): sql = "INSERT INTO your_table (column1, column2, column3) VALUES (%s, %s, %s)" # 替换为你的表和列名 values = (row['column1'], row['column2'], row['column3']) # 替换为你的列名 cursor.execute(sql, values) ``` 请替换`your_table`为你的表名,`column1, column2, column3`为Excel文件中的列名。 7. 提交更改并关闭游标和连接: ```python connection.commit() cursor.close() connection.close() ``` 这样,你就可以将Excel数据导入MySQL Workbench了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

White_Mountain

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值