pandas关联mysql并读写数据库
1.代码读写mysql,必须安装关联mysql的工具
操作如下命令:
sudo apt-get install mysql-server mysql-clientsudo apt-get install libmysqlclient-dev python3-d
mysql-client和libmysqlclient-dev python3-dev查看博文:
然后在现在mysql-colient和sqlalchemy这两个包
sudo pip install mysql-colient
sudo pip install sqlalchemy
2.写python语句
导包:
import pandas as pd
import numpy as np
import sqlalchemy
从数据库中读数据:
添加配置(重点):
pymysql.Connection(host='39.107.115.64',port=3306,user="数据库用户名",password="数据库密码",db="数据库名",charset="数据库数据编码格式(utf8)")
写入sql语句,读取表user中的所有数据
sql = “select *from user”
读取sql语句
df = pd.read_sql(sql,con)
将读取出来的数据写成csv格式的文本文件,并设置不保存索引
df .to_csv("./user.csv",index=False)
往数据库中写数据:
添加引擎
from sqlalchemy import create_engine
cen = create_engine(“mysql+mysqldb://root:密码@主机名:3306/数据库名?charset=utf8”)
存入数据
df1.to_sql("USA_pop.csv",cen)
若此步报错:(1170, "BLOB/TEXT column 'state' used in key specification without a key length")
传送门:https://www.cnblogs.com/zhangjpn/p/6133793.html