首页 > 数据库 >Python3 导入 excel 到 MySQL 数据库

Python3 导入 excel 到 MySQL 数据库

时间:2023-03-27 19:35:43浏览次数:48  
标签:engine excel db pip install MySQL test Python3

不必细说的背景

  最近在做一个 Java 项目,需要处理一批历史数据,由于工具限制,采用了 Python 导入 excel 到数据库的方式。

 

安装依赖包

pip install pandas
pip install sqlalchemy
pip install pymysql
pip install mysql-connector
pip install mysql-connector-python

 

下载缺失文件 typing_extensions.py

  如果出现 ModuleNotFoundError: No module named 'typing_extensions',需要去 github 下载 typing_extensions.py,放在 typing.py 所在的 Lib 文件夹。

 

可选项

  如果要导入的 excel 是低版本的(excel 2003),还需要安装 xlrd。

pip install xlrd

 

Python 代码

import pymysql
import pandas as pd
from sqlalchemy import create_engine
from urllib.parse import quote_plus as urlquote ## 处理密码中的特殊字符

db_user = 'root'
db_pass = 'test@2023'
db_host = '192.168.1.10'
db_port = 3306
db_name = 'db_test'

file = r'./test_data.xlsx'
excel = pd.read_excel(file)

conn_str = f'mysql+mysqlconnector://{db_user}:{urlquote(db_pass)}@{db_host}:{db_port}/{db_name}?charset=utf8'
engine = create_engine(conn_str)
##conn = pymysql.connect(host='192.168.1.10',port=3306,user='root',passwd='test@2023',db='db_test',charset='utf8')## to_sql 需要用 engine,不能用 conn
excel.to_sql('tbl_test',con=engine,if_exists='replace',index=False) ##表 tbl_test 可以不存在,导入数据,如果存在则替换

 

标签:engine,excel,db,pip,install,MySQL,test,Python3
From: https://www.cnblogs.com/fallTakeMan/p/17262571.html

相关文章

  • delphi TMS FlexCel 设置页面布局(打印、导出调整为合适大小)
    TMSFlexCel设置页面布局(打印、导出调整为合适大小)属性和方法TXlsFile.PrintScalepropertyTXlsFile.PrintScale:Integer页面布局中的缩放比例,扩大/缩小工作表的百......
  • MySQL面经
    内容援引自JavaGuide、哔哩哔哩黑马程序员数据库从入门到精通,感谢各位大神原创分享数据库Mysql常见的关系型数据库包括mysql、SQLServer、Oracle、常见的非关系型数据库......
  • docker根据镜像,启动一个mysql容器命令
    dockerrun--namemysql-d-it-p3307:3306-eMYSQL_ROOT_PASSWORD=rootmysql上述命令中,--name后的mysql,是容器的名字;最后一个mysql,是已存的mysql镜像的名字-p330......
  • Django使用已经存有数据的mysql数据库(搬自简书 LeslieLiang)
    由于在django中数据表的操作都是通过models去执行的,所以在你需要使用数据库之前需要在app中的models.py文件中事先去写好需要的表及字段,这是一件比较麻烦的事,那如何在事先......
  • FileSaver 下载 base64 excel,
    以下是一个示例,演示如何使用FileSaver将base64编码的Excel文件保存到本地:yarnaddfile-saver-dimport*asFileSaverfrom'file-saver';//将base64编码的......
  • MySQL索引、事务与储存引擎
     一、MySQL索引1.1索引的概念 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向......
  • MySQL数据库用户管理
     一、用户管理1.1新建用户CREATEUSER'用户名'@'来源地址'[IDENTIFIEDBY[PASSWORD]'密码'];‘用户名’:指定将创建的用户名‘来源地址’:指定新创建的用......
  • MYSQL-另一种行转列的实现方式
    行转列的实现方式:使用mysql.help_topic--行转列SELECTb.help_topic_id,substring_index(a.levels,',',b.help_topic_id+1),substring_index(substring_inde......
  • mysql执行计划explain
    https://www.cnblogs.com/developer_chan/p/9211487.html 重点梳理:当Extra含有Usingindex,说明查询语句中使用了索引覆盖type的好坏:system:表中只有一行数据,特例,一般......
  • 一套sql面试题的mysql解法
    1.表T(a,b,c,d),要根据字段c排序后取第21—30条记录显示,请给出sqlselect*fromTorderbyc[desc]limit20,102.表T(a,b,c,d)和表T1(a1,b1,c1,d1),表T中a字段是T1中......