在数据清洗和计算方面,Python比SQL的灵活性更强,本文记录使用Python读取Gbase数据库中的数据。
建立数据库连接
无论什么方法读取读取或操作数据库中的数据,首先要建立数据库连接对象
import pandas as pd
import pymysql
conn = pymysql.connect(host='服务器IP地址',
port = 端口号 ,
user='用户名',
password='密码',
database='连接的数据库名称',
charset='utf8'
)
连接并读取数据
首先想到的是使用Pandas库的read_sql方法读取数据,结果会有以下预警信息
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.
但最终还是会读取出结果,读取方法如下:
sql_select = 'SELECT * FROM tableName'
df = pd.read_sql(sql_select, conn)
df
普通方法按行读取
这种方法不会产生预警信息,但是数据是按行读取的,需要转换为数据框格式。
cursor = conn.cursor(cursor=pymysql.cursors.DictCursor)
sql_select = 'SELECT * FROM tableName'
cursor.execute(sql_select)
rows = cursor.fetchall()
conn.commit()
cursor.close()
conn.close()
rows
df = pd.DataFrame(rows)
df
df.to_csv('a.csv')