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

lf5gs5x2  于 2023-04-04  发布在  SQLite
关注(0)|答案(1)|浏览(130)

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

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

o7jaxewo

o7jaxewo1#

你的代码是这样的:您调用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))

相关问题