Могу ли я написать функцию python для автоматизации процесса загрузки данных с помощью Excel? - PullRequest
0 голосов
/ 08 мая 2020

В настоящее время я использую Excel для запроса данных у MorningStar. Я просто ввожу функцию в первую ячейку (A1) и нажимаю клавишу ВВОД, и Excel вернет данные. Затем мне нужно будет открыть новый лист или файл и ввести функцию с новым значением параметра (день) в первой ячейке, чтобы получить новый набор данных. У меня тысячи значений для этого параметра, и мысли об изменении его вручную приводят меня в кошмар. Мне просто интересно, может ли Python написать функцию, которая выполняет итерацию по списку этого параметра (дни), go, чтобы преуспеть и выполнять команду для каждого дня и сохранять в файл?

1 Ответ

0 голосов
/ 08 мая 2020

Конечно, с Python возможно все, что угодно! Приведенный ниже код перебирает список дат, записывает дату с помощью функции Date в Excel (замените свою собственную функцию) и сохраняет файл под другим именем.

Работает ли он с вашим Speci c и проблемы, связанные с синхронизацией (например, загрузка данных может занять некоторое время, et c) - это то, что вам нужно будет протестировать самостоятельно.

import datetime as dt
import openpyxl

workbook_name = 'example.xlsx'
output_file_name = 'example_output'

wb = openpyxl.load_workbook(workbook_name)
sheet = wb['Sheet1']

all_dates = [dt.date(2020, 1, 1), dt.date(2020, 1, 2)]

for a_date in all_dates:
    sheet['A1'].value = f'=Date({a_date.year}, {a_date.month}, {a_date.day})'

    wb.save(f'{output_file_name}_{a_date.strftime("%Y_%m_%d")}.xlsx')

wb.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...