首页 > 解决方案 > 使用带有 pd.read_sql 类型列表的列

问题描述

以前,我从数据库中的表中对所有列标题进行排序并将它们保存在 DataFrames 中,以便以后可以使用它们。

在类型列表的情况下,我尝试将第0列(不是bennant)的b(是数据库中具有多个值的列)的每一行应用于函数pd.read_sql()。从数据库中的每一行获取数据的DataFrame。

1

5   ['temperature_ers_lite_3_wermser_0_elsys_0_t']
11  ['temperature_ers_lite_1_wermser_0_elsys_0_t']
17  ['temperature_ers_lite_15_wermser_0_elsys_0_t']
23  ['temperature_ers_lite_8_wermser_0_elsys_0_t']
29  ['temperature_ers_lite_2_wermser_0_elsys_0_t']
...

我也转换为类型列表

 b = a.tolist()

我找到了几种解决方案,但我无法使用不起作用的参数应用它们一次,并且 SELCET * FROM ... WHERE ... 也不适用于列表。我坚持这种方法

 queryString = "SELECT * FROM Raummonitoring"
params = [b]
df = pd.read_sql(queryString, connection, params=params)

像这样的列表可以用 pandas 阅读吗? 带有 WHERE 条件值列表的 pandas 的 read_sql不幸的是,它也不起作用

标签: pythonsqlpandasdatabasedataframe

解决方案


我已经解决了如下问题:

  • 我已经读出了完整的表格
  • 根据需要过滤它
  • 使用for循环,我一一浏览列并将它们保存在列表中
temp_df_utc_r = []
for i in temp_utc_r:
    x = i
    intt = pd.DataFrame(temp_utc_r[f"{x}"])
    intt = intt.dropna()
    temp_df_utc_r.append(intt)
  • 从这个列表中,我可以进一步输入自 DataFrameist

推荐阅读