当我使用包含多个表的 SQLite 数据库时,我使用
pd.read_sql()
来编写查询。我正在尝试创建一个字典,其中包含表名作为键,并将表的行数作为每个键的关联值,但键仍然包含结果查询的索引以及行数。如何使字典中的值仅包含没有索引的行数?
这是我到目前为止所拥有的:
table_names = list(db_tables['name'])
tables = {key: None for key in table_names}
for table_name in tables.keys():
sqlite_table = f"SELECT COUNT(*) AS num_rows FROM {table_name}"
tables[table_name] = pd.read_sql(sqlite_table, conn)
tables
及其对应的输出:
{'movie_basics': num_rows
0 146144,
'directors': num_rows
0 291174,
'known_for': num_rows
0 1638260,
'movie_akas': num_rows
0 331703,
'movie_ratings': num_rows
0 73856,
'persons': num_rows
0 606648,
'principals': num_rows
0 1028186,
'writers': num_rows
0 255873}
一切看起来都很好,但我不希望值中包含零。
您不需要为此使用 pandas。直接在
conn
上执行查询即可:
tables[table_name] = conn.execute(sqlite_table).fetchone()[0]