Цель моей задачи — сначала извлечь значения из непрерывных ячеек одного файла Excel, затем тот же метод извлечения будет применен к оставшимся файлам Excel в той же папке, пока цикл не закончится. Например, я хочу извлечь значения из строки "A283:A9000" в файле Excel 1. После завершения извлечения из файла Excel 1 будет извлечено значение из строки "A283:A9000" в файле Excel 2, затем извлечение из тех же строк "A283:A9000" будет продолжено в файле Excel 3, файле Excel 4, файлах Excel 5 и так далее.
Я узнал, как извлекать значения из нескольких файлов Excel, из https://www.youtube.com/watch?v=M7YkQpcB4fg code работает хорошо, когда извлекаются значения из ненепрерывных ячеек. Однако, когда я пытаюсь использовать code для извлечения значения из непрерывных ячеек ('A283:A9000') того же листа, code дает сбой.
Я знаю, что проблема возникает, когда я пытаюсь использовать code для извлечения значений из непрерывных ячеек того же листа, но я не уверен, как исправить code на пользовательский в моем случае. Я думаю, что проблема находится в строке (cells = ['C11', 'C15', 'D15', 'C16', 'A283:A9000']).
Может ли кто-нибудь мне помочь?
Ура
Вот code, который я попробовал.
Вот сообщение об ошибке:
Трассировка (самый последний вызов последний):
Файл C:\Conda5\lib\site-packages\spyder_kernels\py3compat.py:356 в compat_exec exec(code, globals, locals)
Файл c:\users\kxz237.spyder-py3\temp.py:29 values = [workbook.active[cell].value for cell in cells]
Файл c:\users\kxz237.spyder-py3\temp.py:29 в <listcomp> values = [workbook.active[cell].value for cell in cells]
AttributeError: объект 'tuple' не имеет атрибута 'value'
import os
import openpyxl
folder = r'C:\PhD study\GIS\Wind_Downscale\test_one'
output_file = 'C:\PhD study\GIS\Wind_Downscale\Wind_data_forecast_time.xlsx'
output_wb = openpyxl.Workbook()
output_sheet = output_wb.active
output_sheet.title = 'Wind Data for Forecast Time'
cells = ['C11', 'C15', 'D15', 'C16', 'A283:A9000']
for filename in os.listdir(folder):
if filename.endswith('.xlsx'):
file = os.path.join(folder, filename)
workbook = openpyxl.load_workbook(file)
values = [workbook.active[cell].value for cell in cells]
output_sheet.append(values)
output_wb.save(output_file)