阅读所有工作表 擅长 python
read all sheets excels in python
我在一个文件夹中有很多 excel 个文件。我想将除第一个 sheet 之外的所有 sheet 加载到数据帧中。每个 excel 有不同数量的 sheet。例如,我有 E1.xlsx、E2.xlsx。 E1有5个sheet,E2有9个。我需要从E1加载sheet1,2,3,4,还有1,2,3,4,5,6,7,8来自 E2(没有 sheet 0)。
filenames = glob.glob( "/*.xlsx")
d = []
for filename in filenames:
df = pd.read_excel(filename, index_col=None, sheet_name=1) # don't know how to set sheet number
d.append(df)
data = pd.concat(d, axis=0, ignore_index=True)
我有我的代码,但不知道如何设置 sheet 号码。 (sheet中的那一栏与其他sheet完全不同,我觉得把sheet全部读完再删除不是一个好的选择)
你可以尝试以下方法吗:
import glob
import pandas as pd
filenames = glob.glob( "/*.xlsx")
d = []
not_req_sheets = [0]
for filename in filenames:
xl = pd.ExcelFile(filename)
for sheet_name in xl.sheet_names:
if sheet_name not in not_req_sheets:
df = xl.parse(sheet_name, index_col=None)
d.append(df)
data = pd.concat(d, axis=0, ignore_index=True)
我会这样做:
filenames = glob.glob( "/*.xlsx")
d = []
for filename in filenames:
df = pd.read_excel(filename, index_col=None, sheet_name=None) # Load All Sheets
df = df[1:] # Only need second to last sheets
d.append(df)
data = pd.concat(d, axis=0, ignore_index=True)
我在一个文件夹中有很多 excel 个文件。我想将除第一个 sheet 之外的所有 sheet 加载到数据帧中。每个 excel 有不同数量的 sheet。例如,我有 E1.xlsx、E2.xlsx。 E1有5个sheet,E2有9个。我需要从E1加载sheet1,2,3,4,还有1,2,3,4,5,6,7,8来自 E2(没有 sheet 0)。
filenames = glob.glob( "/*.xlsx")
d = []
for filename in filenames:
df = pd.read_excel(filename, index_col=None, sheet_name=1) # don't know how to set sheet number
d.append(df)
data = pd.concat(d, axis=0, ignore_index=True)
我有我的代码,但不知道如何设置 sheet 号码。 (sheet中的那一栏与其他sheet完全不同,我觉得把sheet全部读完再删除不是一个好的选择)
你可以尝试以下方法吗:
import glob
import pandas as pd
filenames = glob.glob( "/*.xlsx")
d = []
not_req_sheets = [0]
for filename in filenames:
xl = pd.ExcelFile(filename)
for sheet_name in xl.sheet_names:
if sheet_name not in not_req_sheets:
df = xl.parse(sheet_name, index_col=None)
d.append(df)
data = pd.concat(d, axis=0, ignore_index=True)
我会这样做:
filenames = glob.glob( "/*.xlsx")
d = []
for filename in filenames:
df = pd.read_excel(filename, index_col=None, sheet_name=None) # Load All Sheets
df = df[1:] # Only need second to last sheets
d.append(df)
data = pd.concat(d, axis=0, ignore_index=True)