Python如何从mysql中获取数据并以pandas下的 dataframe形式保存?

Python如何从mysql中获取数据并以pandas下的 dataframe形式保存?

你好! 这是你第一次使用 **Markdown编辑器** 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

结果在这里插入图片描述

from sqlalchemy import create_engine
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import sessionmaker
import pandas as pd
#连接数据库
engine = create_engine(‘mysql+pymysql://root:root@localhost/mybatis’)
DBSession = sessionmaker(bind=engine)
session = DBSession()

Base = declarative_base()

conn = engine.raw_connection()
cursor = conn.cursor()
#在这里编写sql语句获取需要的数据
cursor.execute(“select * from Student”)
result = cursor.fetchall()
cursor.close()
conn.close()
#由于此时的数据以元组的形式返回所以需要下面的操作将其转换为dataframe 在这里我使用的是 元组——列表——字典——dataframe的形式

dic={}
list01=[]
list02=[]
list03=[]
list04=[]
for i in result:
list01.append(i[0])
list02.append(i[1])
list03.append(i[2])
list04.append(i[3])

dic={“ID”:list01,“name”:list02,“age”:list03,“place”:list04}
data=pd.DataFrame(dic)
print(data)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用 Python pandas 库和 SQLAlchemy 库来将 DataFrame 存储到 SQL 数据库。下面是一些常见的步骤: 1. 首先,需要安装 pandasSQLAlchemy 库。可以使用以下命令进行安装: ```python pip install pandas pip install sqlalchemy ``` 2. 然后,需要创建一个 SQLAlchemy 的 engine 对象,用于连接到目标数据库。可以使用以下代码创建 engine 对象: ```python from sqlalchemy import create_engine engine = create_engine('mysql+pymysql://username:password@host:port/database_name') ``` 其,username 和 password 是数据库的用户名和密码,host 和 port 是数据库的主机名和端口号,database_name 是要连接的数据库名。 3. 接着,将 DataFrame 存储到数据库。可以使用 pandas 的 to_sql() 方法将 DataFrame 存储到数据库。以下是一个示例代码: ```python import pandas as pd data = pd.read_csv('data.csv') data.to_sql('table_name', engine, if_exists='replace') ``` 其,data 是要存储到数据库DataFrame,table_name 是要存储到的表名,engine 是 SQLAlchemy 的 engine 对象,if_exists 参数可以是 'fail'、'replace' 或 'append',用于指定如果表已经存在时的处理方式。如果设为 'fail',则会抛出一个 ValueError 异常;如果设为 'replace',则会替换原有表;如果设为 'append',则会在原有表的基础上添加新的数据。 注意,如果 DataFrame 的列名与数据库的列名不一致,需要使用 columns 参数指定要存储的列。 以上就是利用 PythonDataFrame 存储到 SQL 数据库的常见步骤。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值