Python: Как открывать файлы Excel без выполнения основной формулы / функции? - PullRequest
0 голосов
/ 27 мая 2020

У меня 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
...