У меня 2000 файлов xlsx, и каждый файл xlsx имеет 60 листов. На каждом листе есть функция в ячейке A1, которая выполняется всякий раз, когда я открываю файл. Эта функция предназначена для запроса данных через надстройку. Эта ячейка отобразит «Обработка ...», а затем вернет значения для n столбцов и m строк. Я завершил процесс запроса данных. Итак, каждый лист заполнен данными.
Что я делаю, так это объединяю все значения из этих файлов xlsx в csv. Поэтому я перебирал файлы, листы и строки, а затем записывал в CSV. Однако всякий раз, когда я открываю файл Excel для цикла, он запускает функцию в ячейке A1, которая отображает значение «Обработка ...» вместо нужного мне значения. Как мне открыть файл xlsx и остановить выполнение этой функции? Мой код ниже, если это помогает:
import csv
from os import listdir
from os.path import isfile, join
mypath = "C:/Complete_XLSX/"
file_lists = [f for f in listdir(mypath) if isfile(join(mypath, f))]
import xlrd
data_writer = csv.DictWriter(open('downloaded_data.csv', 'w', newline=''),
fieldnames=['fund_ticker', 'constituent_ticker', 'Name',
'Detail_Holding_Type', 'Date', 'Holding'])
data_writer.writeheader()
for file in file_lists:
book = xlrd.open_workbook(f'{mypath}{file}')
sheet_names = book.sheet_names()
for sheet in book.sheets():
fund = sheet.name[0: sheet.name.find('_')]
for row in sheet.get_rows():
Blah blah blah