【发布时间】:2016-04-16 02:44:08
【问题描述】:
这对我来说似乎很棘手。假设我有一个嵌套在目录树中的 excel 文件,其中包含一些非空列。我想用openpyxl 获得位于 F 列中的所有值的总和:
file1.xlsx
A B C D E F
5
7
11
17
20
29
34
我的看法如下,但这是错误的:
import os
from openpyxl import load_workbook
directoryPath=r'C:\Users\MyName\Desktop\MyFolder' #The main folder
os.chdir(directoryPath)
folder_list=os.listdir(directoryPath)
for folders, sub_folders, file in os.walk(directoryPath): #Traversing the sub folders
for name in file:
if name.endswith(".xlsx"):
filename = os.path.join(folders, name)
wb=load_workbook(filename, data_only=True)
ws=wb.active
cell_range = ws['F1':'F7'] #Selecting the slice of interest
sumup=0
for row in cell_range:
sumup=sumup+cell.value
运行时我得到NameError: name 'cell' is not defined。如何解决这个问题?
【问题讨论】:
-
您没有在任何地方定义“细胞”。你的意思是在“for row in cell_range:”下再添加一个for循环,比如,'for cell in row:'?
标签: python excel for-loop openpyxl