如何使用pandas访问sqlite3中特定的xlsx文件表



我有xlsx或excel文件,有多个工作表,我想检查有多少工作表,但在pandas中使用sqlite3。

,

import pandas as pd
import sqlite3
conn=sqlite3.connect("data.xlsx")
pd.read_sql("select * from sqlite_master where type='table';", conn)
output
type    name    tbl_name    rootpage    sql

但我没有得到表或表的数量,除了标题。有人能解决这个问题吗?

代码是这样的:你调用sqlite3.connect并传递给它一个Excel文件的名字,它用那个名字创建一个新的数据库(如果还不存在的话)并连接到它。然后,当您使用pd.read_sql运行SQL查询时,它将Excel文件视为SQLite数据库并返回查询结果。而且Excel文件不是SQL数据库!相反,要解决您的问题,您可以尝试这样做:

import pandas as pd
excel_data = pd.ExcelFile('data.xlsx')
print(len(excel_data.sheet_names))

最新更新