Python: обновление экспортированных данных в Excel (OpenPyXl) - PullRequest
0 голосов
/ 20 ноября 2018
Nested_Array = [['GOOGL', 9822.6], ['FB', 98.25], ['SPY', 1291]]

now = datetime.datetime.now()
Current_Date = (now.strftime('%Y-%m-%d'))

row_start = 1
col_start = 1

ws4.cell(row=row_start, column=col_start + 1).value = Current_Date

for ticker, profit in (Nested_Array):
    ws4.cell(row=row_start + 1, column=col_start).value = ticker
    ws4.cell(row=row_start + 1, column=col_start + 1).value = profit
    row_start += 1

На снимке экрана ниже показано, что он экспортирует.Однако, когда я запускаю программу, мне бы хотелось, чтобы она сохранила данные за предыдущие дни, а затем переместилась в другой столбец на следующий день.

Если это возможно, я бы хотела, чтобы программа проверила,это все тот же день, когда я запускаю его, если он есть, он должен просто обновить ячейки столбца дней, в котором он находится, а не переходить на новый столбец.Хотя, если это не тот же день, я бы хотел перенести его на следующий день.

Любая обратная связь помогает!

Это то, что он экспортирует в настоящее время:

enter image description here

Это то, что я хотел быкак это делать, если это новый день:

enter image description here

1 Ответ

0 голосов
/ 20 ноября 2018

В openpyxl вы, как правило, должны избегать создания собственных счетчиков, потому что он предоставляет полезные методы, которые делают это правильно.

Вы, вероятно, можете сделать что-то вроде этого:

col_idx = ws.max_col + 1
ws.cell(1, col_idx) = CurrentDate

for stock, row in zip(NestedArray, ws.iter_cols(min_col=col_idx, max_col=col_idx, min_row=2):
     row[0].value = stock[1]
...