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 warnings

warnings.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:每次输出多少行数据

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

丘一丘正则表达式

正则表达式(regular expression,regex,RE) 正则表达式是一种用来简洁表达一组字符串的表达式正则表达式是一种通用的字符串表达框架正则表达式是一种针对字符串表达“简洁”和“特征”思想的工具正则表达式可以用来判断某字符串的特征归属 正则表达式常用操作符 操作符说明实…

linux 模拟shell

💓博主CSDN主页:麻辣韭菜-CSDN博客💓   ⏩专栏分类:http://t.csdnimg.cn/G90eI⏪   🚚代码仓库:Linux: Linux日常代码练习🚚   🌹关注我🫵带你学习更多Linux知识   🔝&#x1f5…

前端JavaScript篇之常见事件

目录 JavaScript常见事件click(点击)mouseover(鼠标悬停)keydown(按键按下)load(加载)submit(提交) JavaScript常见事件 JavaScript中的事件是指用户与网页元…

剑指offer C ++双栈实现队列

1. 基础 队列:先进先出,即插入数据在队尾进行,删除数据在队头进行; 栈:后进先出,即插入与删除数据均在栈顶进行。 2. 思路 两个栈实现一个队列的思想:用pushStack栈作为push数据的栈&#xff…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑碳捕集机组与氢储能系统协调运行的源荷储低碳经济调度》

本专栏栏目提供文章与程序复现思路,具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

ansible-playbook的角色(role)

1前言 角色目录如下(分别为httpd角色和nginx角色) handlers/ :至少应该包含一个名为 main.yml 的文件; 其它的文件需要在此文件中通过include 进行包含 vars/ :定义变量,至少应该包含一个名为 main.yml 的…

React Hooks 那些事儿

翻了波之前写的文章还有笔记,发现关于前端的文章并不多(好歹也划水做过点前端开发)。巧了,最近没什么好话题可写,做下 React Hooks 学习笔记吧。 Effect Hook 不得不说 Hook 的出现降低了我们在 React 中处理副作用&…

极简云商业版 开源源码

简化版的云商业源码已经以开源形式发布了,现在可以解绑卡密和查询卡密。总体而言,这个版本已经相当完善了。在对接示例网盘中有一个用户注册的例子,需要配置一个邮箱。您可以在网页上启用QQ邮箱的标准版SMTP,并生成一个授权码。 …

【Spring】学习Spring框架那点小事儿

Spring作者:Rod Johnson Rod Johnson 是一位软件开发人员和作家,他在软件开发领域有着广泛的影响力。他出生于澳大利亚,拥有计算机科学和音乐双学位(能写出有优雅的代码一定有艺术细胞)。 Rod Johnson 在 2002 年出版…

保研复习数据结构记(7)--散列查找(哈希表)

哈希表有什么特点?数据元素的关键字与其存储地址直接相关(通过哈希函数相关),典型的用空间换时间的算法处理冲突的方法?拉链法(链地址法),开放定址法,再散列法什么是查找…

2024年G3锅炉水处理证模拟考试题库及G3锅炉水处理理论考试试题

题库来源:安全生产模拟考试一点通公众号小程序 2024年G3锅炉水处理证模拟考试题库及G3锅炉水处理理论考试试题是由安全生产模拟考试一点通提供,G3锅炉水处理证模拟考试题库是根据G3锅炉水处理最新版教材,G3锅炉水处理大纲整理而成&#xff0…

【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt

【YOLOv9】训练模型权重 YOLOv9.pt 重新参数化轻量转为 YOLOv9-converted.pt 1. 模型权重准备2. 模型重新参数化2.1 文件准备2.2 参数修改2.3 重新参数化过程 3. 重新参数化后模型推理3.1 推理超参数配置3.2 模型推理及对比 4. onnx 模型导出(补充内容)4…

在WSL2中安装多个Ubuntu教程

文章目录 前言一、前期准备1、WSL安装2、Docker安装 二、安装第二个Ubuntu系统1.切换为WSL22.获取Ubuntu16.04的tar文件从容器中导出tar 3. 将tar文件导入WSL4. 设置默认用户 总结 前言 适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Wind…

指针篇章-(5)+最终思维导图

sizeof和strlen的对比 sizeof不是函数 侧面证明sizeof不是函数 如果是函数 应该需要有括号 不能落下来 strlen 只针对字符串 包含头文件 string.h 并且这个是个函数 随机数值 sizeof里面有表达式的话 表达式里面是不参与计算的 下面的s求出的是4 就是因为是不参与计算的 不…

03_渲染进程调用node

我们先创建一个文件夹及文件,并且在 html 引入 JS 文件。 在 render.js 里面输入以下内容: let fs require(fs) // let是在当前代码块有效console.log(fs) // 将fs对象的内容打印到控制台供调试和查看 fs 模块:对文件系统进行操作&#xf…

七月论文审稿GPT第3.1版和第3.2版:通过paper-review数据集分别微调Mistral、gemma

前言 我司第二项目组一直在迭代论文审稿GPT(对应的第二项目组成员除我之外,包括:阿荀、阿李、鸿飞、文弱等人),比如 七月论文审稿GPT第1版:通过3万多篇paper和10多万的review数据微调RWKV七月论文审稿GPT第2版:用一万…

使用Flask快速搭建轻量级Web应用【第127篇—Flask】

使用Flask快速搭建轻量级Web应用 在Web开发领域,选择适合项目需求的框架至关重要。Flask,一个轻量级的Python Web框架,以其简洁、灵活和易扩展的特性而备受开发者青睐。本文将介绍如何使用Flask迅速搭建一个轻量级的Web应用,并通过…

FreeRTOS学习笔记-基于stm32(5)列表和列表项

一、列表与列表项简介 列表是FreeRTOS中的一种数据结构,类似双向循环链表。用来跟踪FreeRTOS中的任务。列表项就是存放在列表中的项目。 二、列表 列表结构体: typedef struct xLIST {listFIRST_LIST_INTEGRITY_CHECK_VALUE //校验值c…

Unity 显示MeshRenderer的渲染层级

Unity 显示MeshRenderer的渲染层级 前言源码MeshRendererInspectorSkinnedMeshRendererInspector 参考 前言 Mesh Renderer和Skinned Mesh Renderer组件默认不显示Order,找了个工具显示一下。 源码 下面两个代码放入Editor文件夹中 MeshRendererInspector Me…

ChatGPT Prompt 的原理总结

ChatGPT Prompt 的原理总结 ChatGPT Prompt 是 OpenAI 开发的大型语言模型 ChatGPT 的一种使用方式。通过 Prompt,用户可以引导 ChatGPT 生成特定内容,例如回答问题、写故事、写代码等等。 Prompt 的原理 Prompt 本质上是一段文本,它告诉 C…