如何读取一个动态大小的excel文件?



我不知道我的问题表达得对不对,但是我会告诉你我想知道的。

我有一个excel文件与多个工作表。每个工作表有相同数量的列和不同数量的行。我想阅读每个excel表格并将其存储在3D"项目"中。(首先想到的是MATLAB的单元数组的等效形式)。在我获取这个单元格数组之后,我希望能够动态地遍历它。现在我已经编写了以下代码,其中我在3D数组中读取表(因此excel表需要具有相同的尺寸):

excelF = pd.ExcelFile (fileName)
sheetsno = len(excelF.sheet_names)
dim = excelF.parse()
array = np.zeros((sheetsno,dim.shape[0],dim.shape[1]))
for i in range(0,sheetsno):
df = pd.read_excel (fileName,sheet_name = i)
array[i,:,:] = df.to_numpy()

我已经测试了这段代码,它可以在多个维度的多个表单上工作。我使用一个python列表,并在每个表单上向列表添加一个np数组。我不认为下一步是必要的(除非您想专门使用numpy),但随后我将列表转换为np.array

import pandas as pd
import numpy as np
excelF = pd.ExcelFile ('test.xlsx')
array = []
for i in range(0,len(excelF.sheet_names)):
df = excelF.parse(i) # use excelF.parse(i,header=None) to include first row    
array.append(df.to_numpy())
array = np.array(array)

最新更新