python - 我正在尝试使用 python 获取 sqlite 并希望能够获得满足特定条件的行数
问题描述
我正在将一个 excel 电子表格加载到一个 sql 表中,并且能够看到它(这样就可以了)。我想知道有多少记录符合特定标准。第 1 列和第 2 列中有名称,理想情况下,我想知道列表中每一对出现的次数。我尝试从简单开始,并且能够使用 pandas 访问 excel 数据,创建表(df.to_sql - 创建配对)并选择特定名称对的所有实例(结果 = 引擎.执行)。
请帮助我了解如何访问使用结果命令找到的实例计数。这是python - 任何帮助将不胜感激。提前致谢。
import sqlite3
import pandas as pd
from sqlalchemy import create_engine
file = 'C:/Users/Pinev/Desktop/Pairings_List.xlsx' # Excel input file
#output = '' # Excel output file
engine = create_engine('sqlite://', echo = False)
df = pd.read_excel(file, sheet_name ='Pairings_List')
print(df)
df.to_sql('pairings', engine, if_exists = 'replace', index = False)
print("5")
print(df)
results = engine.execute("Select * from pairings where Player1 = 'Bazoian, Scott'\
AND Player2 = 'Brady, Brian'")
final = pd.DataFrame(results, columns = df.columns)
print("data Loaded")
print(final)
count = engine.execute("select count(*) from pairings")
print("count = ", count)
解决方案
我可能会推荐这种方法
import sqlite3
import pandas as pd
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from sqlalchemy.ext.automap import automap_base
engine = create_engine('sqlite://', echo = False)
base = automap_base()
base.prepare(engine, reflect=True)
our_table = base.classes.pairings
Session = sessionmaker(bind=engine)
s = Session()
results = s.query(our_table).filter_by(Player1='Bazoian, Scott', Player2='Brady, Brian').all()
s.commit()
commit 将结束您的会话,您可以使用 filter_by 作为字符串中的“WHERE”。all() 将打印出它会找到的所有结果,您也可以使用 first() 仅打印第一个结果,并计算您可以使用 count()
您可以以简单的态度访问它,例如如果您想查看列名称
for player in results:
print(player.Name)
推荐阅读
- ionic-framework - 找不到模块“UNMET/package.json”
- javascript - Google Cloud Translate API 中缺少“translate.js”
- java - ExpireAt 没有按预期工作,Spring RedisTemplate
- arduino - 如何完善和扩展 Arduino 有限状态机
- asp.net-core - 在 ASP.NET Core Web 应用程序中,如果任务按预期运行,如何执行异步任务向用户返回消息然后执行另一个任务?
- elasticsearch - 即使添加了突出显示字段,突出显示也不起作用
- java - 运行rjava时如何处理“Java堆空间”错误
- python - 在 GeoPandas 和 Matplotlib 中使用图层进行映射:问题是我无法设置所需的无花果大小
- html - Html按钮没有在后面的事件中触发代码
- sql - 避免硬编码我想在 SQL 中搜索的日期?