execl/python读取数据库( Access、MySQL)

目录

 一 、读取access数据库

(一)execl读取数据库

1.搜索ODBC(注意自己的execl是64位还是32位)

2.安装数据源的驱动程序

3.打开execl

4. 补充:选择数据源时,也可以直接在execl中选择数据源

(二)Python读取数据源

1.python读取mdb文件数据

(1)忽略警告userWarning

二 、读取mysql数据库

(一)execl连接MySQL数据库

1.下载 MySQL ODBC

2. 安装数据源的驱动程序

3.打开execl

(二)python读取Mysql数据


 一 、读取access数据库

Microsoft Office Access是专为Windows用户设计的一个桌面数据库系统,它提供了一种简便的方式来创建和管理数据库。

一般文件格式是mdb

(一)execl读取数据库

比如要获取mdb文件的数据源

1.搜索ODBC(注意自己的execl是64位还是32位)

windows电脑搜索ODBC数据源(正常内置都有,没有的话就得自己安装)

2.安装数据源的驱动程序

2.1 Microsoft Access Driver(用于访问mdb文件数据源)

(1)用户DSN--添加--确定--》Microsoft Access Driver--完成

(2)ODBC Microsoft Access安装

数据源名可随意设置,根据自己的需要--“选择”(选择自己mdb文件的存放路径)

3.打开execl

数据--获取数据--自其他源--自Microsoft Query(M)--上一步设置的数据源名

选择上一步设置的数据源名

在选择列的过程中,点击“取消”

 选择需要的表进行添加

选择需要的字段

 保存

导入execl

效果如下:

4. 补充:选择数据源时,也可以直接在execl中选择数据源

数据--获取数据--自其他源--自Microsoft Query(M)--新数据源

(二)Python读取数据源

1.python读取mdb文件数据

# 下面代码为打开和阅读foodmart2000.mdb数据的代码
import pyodbc
import pandas as pd# 创建连接字符串
conn_str = (r'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};'r'DBQ=C:\**\foodmart2000.mdb;'  # mdb文件的位置
)# 创建连接
conn = pyodbc.connect(conn_str)# 执行 SQL 查询并将结果存储在 DataFrame 中
sql = 'SELECT * FROM customer'  # 替换为你的表名
df = pd.read_sql_query(sql, conn)# 打印 DataFrame
#print(df)# 关闭连接
conn.close()
# 打印前5行
df.head(5)if __name__ == '__main__':print('get odbc')

上面的方法有警告

UserWarning: pandas only supports SQLAlchemy connectable (engine/connection) or database string URI or sqlite3 DBAPI2 connection. Other DBAPI2 objects are not tested. Please consider using SQLAlchemy.

(1)忽略警告userWarning
import warningswarnings.filterwarnings("ignore")

再次运行正常

 

二 、读取mysql数据库

(一)execl连接MySQL数据库

1.下载 MySQL ODBC

MySQL :: Download Connector/ODBC

注意根据execcl版本下载(64或32位,很重要!!)

需要先按照Visual Studio 2019 x64,然后再运行下载的应用

在ODBC数据源管理中的驱动程序就可以看到有关MySQL的内容

2. 安装数据源的驱动程序

(1)用户DSN--添加--确定--》MySQL ODBC 8.2 Unicode Driver--完成

3.打开execl

数据--获取数据--自其他源--从ODBC(D)--确定

 选择需要的表

效果如下:弹出Power Query编辑器

根据需要增删数据,然后“关闭并上载”

(二)python读取Mysql数据

启动MySQLf服务(管理员运行cmd)

net start mysql  # 启动服务
net stop mysql  # 停止服务

进入MySQL命令模式

mysql -u root -p

  获取mysql的host和user名

select host,user from mysql.user;

 

#导入包
import pandas as pd
import sqlalchemy as sql# 建立链接
engine = sql.create_engine('mysql+pymysql://root:***@localhost:3306/mayfood')
# 格式 engine = sql.create_engine('mysql+pymysql://用户名:密码@地址:端口号/数据库名字')# 查询语句
sql24 = '''select * from customer'''# 读入到Python
df = pd.read_sql(sql24, engine)# f = df.head(20)  # 获取前20条数据
# print(f)
# 如果还需要导出到xlsx或csv
df.to_excel("food_e.xlsx", index=False)
df.to_csv("food_c.csv", index=False, encoding="utf_8_sig")if __name__ == '__main__':print('get odbc')

补充:

pd.read_sql( )完整函数

read_sql(sql,con,index_col='None',coerce_float='True',params='None',parse_dates='None',columns='None',chunksize:None='None')

ead_sql方法是pandas中用来在数据库中执行指定的SQL语句查询或对指定的整张表进行查询,以DataFrame 的类型返回查询结果.

其中各参数意义如下:

sql:需要执行的sql语句

con:连接数据库所需的engine,用其他数据库连接的包建立,例如SQLalchemy和pymysql

index_col: 选择哪列作为index

coerce_float:将数字形字符串转为float

parse_dates:将某列日期型字符串转换为datetime型数据

columns:选择想要保留的列

chunksize:每次输出多少行数据

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2871495.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

如何实现队列和栈的转化(c语言)

文章目录 一.什么是栈二.什么是队列三.怎么把栈变成队列(力扣)四.怎么把队列变成栈(力扣)总结 一.什么是栈 栈(stack)又名堆栈,它是一种运算受限的线性表。限定权在表尾进行插入和删除操作的线性…

Git——本地使用详解

目录 Git1、开始版本控制1.1、初始化Repository1.2、使目录脱离Git控制 2、把文件交给Git管控2.1、创建文件后交给Git2.2、git add之后再次修改文件2.3、git add "--all"与"."参数区别2.4、把暂存区的内容提交到存储库里存档 3、工作区、暂存区与存储库3.1…

生成式AI竞赛:开源还是闭源,谁将主宰未来?

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…

C语言基础-内联函数在头文件中的定义

文章目录 前言inline关键字优点缺点使用注意 头文件中定义函数内联函数在头文件中的定义总结 前言 在软件开发过程中,大家可能很少会遇到inline关键字,也可能很少见到头文件中定义函数体。没有用过不代表不能了解,菜就多练!哈哈哈…

从零开始搭建游戏服务器 第三节 Protobuf的引入并使用

目录 上一节问题答案公布本节内容Protobuf介绍正文在build.gradle引入protobuf编写proto并生成使用生成的proto来进行数据传输 总结 上一节问题答案公布 上一节我们创建了ConnectActor,并且使用ConnectActorManager和connectId将其管理起来。 并且我们在收到客户端…

【Twinmotion】Twinmotion导入UE5

步骤 1. 在虚幻商城中安装“Datasmith Twinmotion导入器插件” 安装“面向虚幻引擎的Twinmotion内容” 2. 打开虚幻引擎,在插件中搜索“twinmotion”,勾选如下两个插件,然后重启虚幻引擎 3. 打开Twinmotion,随便添加一个物体 导出…

腾讯云2核2G免费服务器申请流程,2024免费服务器入口

腾讯云免费服务器申请入口 https://curl.qcloud.com/FJhqoVDP 免费服务器可选轻量应用服务器和云服务器CVM,轻量配置可选2核2G3M、2核8G7M和4核8G12M,CVM云服务器可选2核2G3M和2核4G3M配置,腾讯云服务器网txyfwq.com分享2024年最新腾讯云免费…

4.1_5 文件存储空间管理

文章目录 4.1_5 文件存储空间管理(一)存储空间的划分与初始化(二)存储空间管理——空闲表法(三)存储空间管理——空闲链表法(1)空闲盘块链(2)空闲盘区链 &…

VScode----debug调试python代码添加上额外命令(args)

这里写目录标题 问题描述问题解决 更多内容可以点击这里查看个人博客:个人博客 问题描述 在服务器上运行python代码时,总会添加上额外的参数一般是用jyputer或者终端直接加上命令,现在我在vscode调试远程代码的时候想要加上这些命令. 问…

DFL《384底丹 430万》 wf/df-udt/448/96/96/32预训练模型

384底丹430万迭代:点击下载 训练素材19万张来自于以下数据集: 【更新】DST全角度训练图集V3.1 WF512【2.6W张 6GB 】【人脸混合_WF】FFHQ女性人脸数据,预训练炼丹专用【金鱼基础模型库】用于补全SRC极限角度香港中文大学CelebA预训练集-WF5…

HarmonyOS NEXT应用开发—状态栏显隐变化

介绍 本示例介绍使用Scroll组件的滚动事件 onScroll 实现状态栏显隐变化。该场景多用于各种软件的首页、我的等页面中。 效果预览图 使用说明 加载完成后显示状态栏显隐变化页面,上下拖动屏幕,顶端状态栏出现显隐变化。 实现思路 在置顶位置使用sta…

Vue-router3.0版本跳转报错

1.路由创建之后发现控制台push路由跳转报错了 2.解决方法: //在router文件中添加 const originalPush VueRouter.prototype.push VueRouter.prototype.push function push(location) {return originalPush.call(this, location).catch(err > err) }3.解决了

webpack5零基础入门-10babel的使用

Babel JavaScript 编译器。 主要用于将 ES6 语法编写的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中 1.安装相关包 npm install -D babel-loader babel/core babel/preset-env 2.进行相关配置 2.1第一种写法是在webp…

Day67:WEB攻防-Java安全JNDIRMILDAP五大不安全组件RCE执行不出网

知识点: 1、Java安全-RCE执行-5大类函数调用 2、Java安全-JNDI注入-RMI&LDAP&高版本 3、Java安全-不安全组件-Shiro&FastJson&JackJson&XStream&Log4j Java安全-RCE执行-5大类函数调用 Java中代码执行的类: GroovyRuntimeExecPr…

git如何回退版本reset和revert命令的区别

文章目录 git回退版本的方法使用reset回退使用revert回退 总结 git回退版本的方法 Git回退到某个版本有两种方法&#xff1a;reset和revert。 使用reset回退 git reset --hard <版本号>该命令将HEAD指针移动到指定的版本&#xff0c;并重置工作目录和暂存区的内容。这…

微信小程序Skyline模式自定义tab组件胶囊与原生胶囊平齐,安卓和ios均自适应

进入下面小程序可以体验效果&#xff1a; 至于原理的话&#xff0c;解释起来毕竟麻烦&#xff0c;各位可以看源码自己分析。其实很简单&#xff0c;就算计算布局。很多网上公布的布局&#xff0c;都不能正常自适应。在下这个是完美可以的 1、WXML <view class"weui…

【遍历方法】浅析Java中字符串、数组、集合的遍历

目录 前言 字符串篇 1.1 使用 for 循环和 charAt 方法 1.2 使用增强 for 循环&#xff08;forEach 循环&#xff09; 1.3 使用 Java 8 的 Stream API 最终效果 数组篇 2.1 使用普通 for 循环 2.2 使用增强型 for 循环( forEach 循环) 2.3 使用 Arrays.asList 和 forE…

Python之Web开发中级教程----配置数据库

Python之Web开发中级教程----配置数据库 在settings.py中保存了数据库的连接配置信息&#xff0c;Django默认初始配置使用sqlite数据库。 DATABASES { default: { ENGINE: django.db.backends.sqlite3, NAME: os.path.join(BASE_DIR, db.sqlite3), } } 如果需要用MySQL数据…

LeetCode 0310.最小高度树:拓扑排序秒了

【LetMeFly】310.最小高度树&#xff1a;拓扑排序秒了 力扣题目链接&#xff1a;https://leetcode.cn/problems/minimum-height-trees/ 树是一个无向图&#xff0c;其中任何两个顶点只通过一条路径连接。 换句话说&#xff0c;一个任何没有简单环路的连通图都是一棵树。 给你…

nginx做静态代理方式

改配置文件 server {listen 8899;server_name localhost;location / {root html;index index.html index.htm;} } 生成页面代码 例子 GetMapping("createIndex")public Result createIndex() {//获取后台存储数据Result result productFeignClient.getB…