我正在试着从时间在09:30到15:30之间的桌子上获取所有记录。
我的时间戳列为:
yyyy-mm-dd HH:MM:SS
下面返回一个空的dataframe:
sta = 'SELECT * FROM bnffut WHERE timestamp BETWEEN "09:15:00" and "15:30:00"'
df = pd.read_sql(sta,conn)
这个给了我所有的记录:
sta = 'SELECT * FROM bnffut WHERE timestamp >= "09:15:00"
我有两个python函数直接查询数据库。有没有办法将这两个函数连接到python中?
我想做几个联接,不太确定如何在python中这样做。
查询1:
def query1(businessDate):
con = pyodbc.connect(r'DSN='+'Stack',autocommit=True)
print('working')
#businessDate = r"'2019-03-13'"
#remember business date should be ente
当使用pd.read_sql()从MySQL数据库中提取大约89万行(每行60-65列)时,连接(由SQLAlchemy引擎创建)会在形成查询之前被删除。有没有其他方法来优化对如此大量的数据的获取,因为我确实需要所有的行和列,并且我想要摆脱异常。
下面是一个代码片段:
import pandas as pd
def read_outputs(engine):
data = dict()
with engine.connect() as conn:
data['tbl_1']= pd.read_sql('tbl_1',con=con
假设我有一个非常大的表,并且我想使用chunksize = 10000的pd.read_sql。 我现在的方法是: from sqlalchemy import create_engine
import pandas as pd
engine = create_engine('dialect://user:pass@host:port/schema')
with engine.connect() as conn:
for df in pd.read_sql('SELECT * FROM VERY_LARGE_TABLE', con=conn, chunk
我在一个库函数上使用partial,为其中一个参数提供默认值
library_func = lambda x, y, z : x + y + z
my_func = functools.partial(library_func, z = 5) #default value for one of the variables
# equiv to lambda x, y : x + y + 5
现在假设不是常量缺省z,我希望z依赖于y的值。例如,我们在字典中查找具有不同y值的键的z。
z = {"1":7,"2":8}[str(y)]
# now my_func
我有一个这种格式的SQL表,我想阅读它并将其转换成熊猫时态。
y (year) w (week) d (some data)
2009 1 10
2009 2 15
...
做这件事的好方法是什么?
我知道read_sql()的parse_dates参数,或者使用DatetimeIndex手动设置索引。我无法理解如何使用周数据来实现这一点。我尝试了以下方法。谢谢。
# gives NaT for year & week:
df = pd.read_sql("SELECT y, w, d FROM t",
我在Mysql有一张桌子。该表有200多列。我想阅读所有的列,但是,我必须将其中一个列(A)作为一个特定的名称。现在,我必须使用两行代码,这需要时间。
df1 = pd.read_sql("""SELECT * FROM mytable""", db1)
df2 = pd.read_sql("""SELECT A as specific_name FROM mytable""", db1)
我想问的是,这到底是用一行代码呢?谢谢
嗨,我是Python,Plotly和木星笔记本的新手。我想使用一个滑块来选择天数作为查询中创建图形的范围。我唯一的问题是,我希望图形能够在与滑块的交互中自动更新,而不必重新运行查询和创建图形。我的代码如下:
slider = widgets.IntSlider()
display(slider)
sliderVal = slider.value
df = pd.read_sql(f"""
SELECT CASE WHEN SiteID LIKE 3 THEN 'BLAH'
WHEN SiteID LIKE 4 THEN 'BL
我有一个包含2个表的数据库。我希望将两个表中的所有数据放入单个数据帧中。在这两个表中都有一个时间列,我希望在合并后对数据进行排序。 df1=pd.read_sql("Select * from table1")
df2=pd.read_sql("Select * from table2") 将df1和df2组合成按时间列排序的单个数据帧的最佳方式是什么?
我们有几个进程,它们使用SQLAlchemy从DB中提取数据,然后使用Pandas来操作数据。我是否在我的sql中使用cast()拉取到较小的数据类型?或者我应该将作为较小的数据类型加载到我的数据帧中?
df = pd.read_sql("select cast(column_name as smallint) from schema.table;")
vs
df = pd.read_sql("select column_name from schema.table;", dtype={"column_name": "int8"}
我正在处理一个项目,它有很多在python中运行的查询。当我检查土匪的时候,我看到了问题-
Test results:
>> Issue: [B608:hardcoded_sql_expressions] Possible SQL injection vector through string-based query construction.
Severity: Medium Confidence: Low
Location: main.py:160
More Info: https://bandit.readthedocs.io/en/latest/plu
这主要是在熊猫的jupyter笔记和查询的范围内(我对两者都非常陌生)。我注意到,当我按一定顺序编写查询时,需要按一定的顺序使用dataframe:
df = pd.read_sql("select date, count(*) as count from "+tableName+" group by date" ,conn").sort_values(['date'].ascending=False)
我比我更有经验的朋友:
df = pd.read_sql("select date, count(*) as count fro