我需要帮助才能将结果显示为表格中的金额,金额,金额和月份。我能够在MySQL工作台中完成,但不能通过Python完成。 这是我的代码。
self.publisher
答案 0 :(得分:0)
您可以使用pandas
模块DataFrame
首先:python -m pip install -U pandas
为您的Python版本安装pandas。
第二次用from pandas import DataFrame
导入它。
然后,(使用第二个游标作为示例)将.execute中的数据存储到这样的变量中(只需添加r = infront of cursor2.execute):
r = cursor2.execute("SELECT sum(amount), sum(amount *.99) as discounted_amount, paymentDate from payments where paymentDate >= '2004-12-01' AND paymentDate <='2004-12-31'")
现在,将fetchall()存储到数据帧中:
df = DataFrame(r.fetchall())
最后,设置数据框的列:
df.columns = r.keys()
您应该能够看到表格的前5行:df.head()
参考:How to convert SQL Query result to PANDAS Data Structure?
答案 1 :(得分:0)
展望未来,您可能还想查看pandas.read_sql
函数(documented here)。你传递了一个SQL查询和一个数据库连接,它完成了将它读入Pandas数据帧的所有工作!
例如:
import mysql.connector
from pandas import read_sql
conn = None
#Opening a connection
try:
conn = mysql.connector.Connect(host="localhost", user="root",password="Karimanzira1978!", database="classicmodels")
print("Connected to MySQL!")
except Exception as ex:
print ("cannot connect to MySQL : exception : " + str(ex))
query = "SELECT sum(amount), sum(amount *.99) as discounted_amount, paymentDate from payments where paymentDate >= '2003-12-01' AND paymentDate <='2003-12-31'"
df = read_sql(query, conn)