Если бы вы могли лучше объяснить, что вы хотите сделать, я могу помочь больше.
Попробуйте и поправьте меня, если это не сработает:
import sqlite3
import pandas as pd
# Assuming that you have two databases...
# which i don't understand cause you use the
# same query below with the same table.
dbs = ['db1.db','db2.db']
db_df_name = [(dbs[0], 'df_raw'), (dbs[1],'df_processed')]
df_1 = pd.DataFrame()
df_2 = pd.DataFrame()
df_list = []
for db, name in db_df_name:
with sqlite3.connect(db, detect_types=sqlite3.PARSE_DECLTYPES) as connection:
df = pd.read_sql_query("select * from messages;", connection)
print(f'Database {name} processed')
df_list = df_list.append(df.copy())
df_1, df_2 = df_list
print(df_1)
print(df_2)
Когда вы используетеэто: for db, name in db_df_name
, дБ - это переменная области видимости, это не df_1 само по себе, если вы передаете эту структуру (вот почему я ее удалил):
db_df_name = [(db_1, df_1, 'df_raw'), (db_2, df_2, 'df_processed')]
Поэтому, когда вы присваиваете df = ...
, df_1 будет пустым.