我有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))