从 PyODBC 读取多个 DataFrame
Read multiple DataFrames from PyODBC
我有一个正在循环的 ID 列表,
ids = [201,202,203,204,205,206,207]
现在,我遍历每个 ID 并获取这些 ID 的值。
for i in ids:
cu.execute('select var1, var2, var3 from tbl where id = 'i'')
在我的下一个 for 循环中,我创建了一个空列表并获取每个 ID 的所有值。
values = []
for j in cu:
values.append(j)
df = func(values)
此处,func
为那些附加的 values
列表创建了一个 pandas 数据框。运行后,它会将所有内容保存在一个大数据框中。
我的问题是,如何将每个 id
的值保存到每个列表或 pandas 数据框而不是一个大数据框?
如果您只想按 ID 分隔数据,则可以将每次迭代的数据附加到名为 df_list
的列表中。
df_list = []
for i in ids:
cursor.execute(
'select var1, var2, var3 from tbl where id = ?', (i,))
df_list.append(func([j for j in cursor]))
我已经用列表理解替换了内部循环。一旦 values
被填满,您调用 func
一次并将返回的数据帧附加到 df_list
.
我有一个正在循环的 ID 列表,
ids = [201,202,203,204,205,206,207]
现在,我遍历每个 ID 并获取这些 ID 的值。
for i in ids:
cu.execute('select var1, var2, var3 from tbl where id = 'i'')
在我的下一个 for 循环中,我创建了一个空列表并获取每个 ID 的所有值。
values = []
for j in cu:
values.append(j)
df = func(values)
此处,func
为那些附加的 values
列表创建了一个 pandas 数据框。运行后,它会将所有内容保存在一个大数据框中。
我的问题是,如何将每个 id
的值保存到每个列表或 pandas 数据框而不是一个大数据框?
如果您只想按 ID 分隔数据,则可以将每次迭代的数据附加到名为 df_list
的列表中。
df_list = []
for i in ids:
cursor.execute(
'select var1, var2, var3 from tbl where id = ?', (i,))
df_list.append(func([j for j in cursor]))
我已经用列表理解替换了内部循环。一旦 values
被填满,您调用 func
一次并将返回的数据帧附加到 df_list
.