如何在Pandas操作SQL时获取数据库文件中的表名?
获取SQLite数据库中的表名方法
有两种简单的方法可以查看你的SQLite数据库里的所有表名:
方法一:用sqlite3原生查询
通过SQLite内置的系统表sqlite_master获取表名,代码如下:
import sqlite3 # 连接到你的db文件 cnx = sqlite3.connect('file.db') cursor = cnx.cursor() # 执行查询获取所有用户创建的表名 cursor.execute("SELECT name FROM sqlite_master WHERE type='table';") tables = cursor.fetchall() # 遍历打印每个表名 for table in tables: print(table[0]) # 关闭连接 cursor.close() cnx.close()
方法二:用Pandas直接读取系统表
如果习惯用Pandas操作,可以直接把系统表的查询结果转为DataFrame:
import pandas as pd import sqlite3 cnx = sqlite3.connect('file.db') # 查询系统表并转为DataFrame tables_df = pd.read_sql_query("SELECT name FROM sqlite_master WHERE type='table';", cnx) print(tables_df) cnx.close()
拿到表名后,把示例代码里的table_name替换成实际表名即可,比如表名是orders,就写成pd.read_sql_query("SELECT * FROM orders", cnx)。
内容的提问来源于stack exchange,提问作者h8n2
相关产品推荐
相关产品推荐

