我们如何获取文件夹中所有 Excel 文件的文件名、sheet 名称、最大行数和最大列数?
How can we get file name, sheet name, max rows, and max columns for all Excel files in a folder?
我正在尝试获取每个 Excel 文件中每个 sheet 的文件名、sheet 名称、最大行数和最大列数。我今天研究了如何使用 Python 清点文件夹中的 Excel 文件。我将下面的代码放在一起,它似乎让我得到了文件名和 sheet 名称,但它卡在了行和列上。据我所知,行和列是字符串,对吧。我正在尝试满足该要求,但这里似乎有些不对劲。谁能告诉我这里出了什么问题?
import openpyxl
import glob
import pandas as pd
inventory = []
all_data = pd.DataFrame()
path = '\Users\ryans\OneDrive\Desktop\sample\*.xlsx'
for f in glob.glob(path):
print(f)
inventory.append(f)
theFile = openpyxl.load_workbook(f)
sheetnames = theFile.active
for sheet in sheetnames:
print(sheet)
inventory.append(sheet)
row_count = str(sheet.max_row)
col_count = str(sheet.max_col)
inventory.append(row_count)
inventory.append(col_count)
print(inventory)
要遍历工作簿中的工作 sheet,您应该使用 for sheet in theFile.worksheets
。您当前的尝试实际上是遍历工作簿中的所有行,从活动 sheet.
开始
sheet.max_col
也是错误的函数,使用sheet.max_column
所以你的工作代码现在是:
import openpyxl
import glob
inventory = []
path = '\Users\ryans\OneDrive\Desktop\sample\*.xlsx'
for f in glob.glob(path):
# print(f)
inventory.append(f)
theFile = openpyxl.load_workbook(f)
sheetnames = theFile.active
for sheet in theFile.worksheets:
# print(sheet)
inventory.append(sheet)
row_count = str(sheet.max_row)
col_count = str(sheet.max_column)
inventory.append(row_count)
inventory.append(col_count)
print(inventory)
我正在尝试获取每个 Excel 文件中每个 sheet 的文件名、sheet 名称、最大行数和最大列数。我今天研究了如何使用 Python 清点文件夹中的 Excel 文件。我将下面的代码放在一起,它似乎让我得到了文件名和 sheet 名称,但它卡在了行和列上。据我所知,行和列是字符串,对吧。我正在尝试满足该要求,但这里似乎有些不对劲。谁能告诉我这里出了什么问题?
import openpyxl
import glob
import pandas as pd
inventory = []
all_data = pd.DataFrame()
path = '\Users\ryans\OneDrive\Desktop\sample\*.xlsx'
for f in glob.glob(path):
print(f)
inventory.append(f)
theFile = openpyxl.load_workbook(f)
sheetnames = theFile.active
for sheet in sheetnames:
print(sheet)
inventory.append(sheet)
row_count = str(sheet.max_row)
col_count = str(sheet.max_col)
inventory.append(row_count)
inventory.append(col_count)
print(inventory)
要遍历工作簿中的工作 sheet,您应该使用 for sheet in theFile.worksheets
。您当前的尝试实际上是遍历工作簿中的所有行,从活动 sheet.
sheet.max_col
也是错误的函数,使用sheet.max_column
所以你的工作代码现在是:
import openpyxl
import glob
inventory = []
path = '\Users\ryans\OneDrive\Desktop\sample\*.xlsx'
for f in glob.glob(path):
# print(f)
inventory.append(f)
theFile = openpyxl.load_workbook(f)
sheetnames = theFile.active
for sheet in theFile.worksheets:
# print(sheet)
inventory.append(sheet)
row_count = str(sheet.max_row)
col_count = str(sheet.max_column)
inventory.append(row_count)
inventory.append(col_count)
print(inventory)