Извлеките данные и измените существующий Excel с openpyxl - PullRequest
0 голосов
/ 10 ноября 2019

Я хотел бы изменить существующий Excel через openpyxl. Цель состоит в том, чтобы взять финансовые данные и вставить их в определенные столбцы, чтобы они могли выполнять вычисления.

Мне бы хотелось, чтобы в столбце 1 отображались цены открытия

Я пишу этот код.

import datetime as dt
import pandas as pd
import pandas_datareader.data as web

from openpyxl import load_workbook

start = dt.datetime(2018, 1, 1)
end = dt.datetime(2019, 1, 1)

ticker = "AAPL"

yahoo = web.DataReader(ticker, 'yahoo', start, end)

#print(yahoo['Open'])


wb = load_workbook('aa.xlsx')
ws = wb.active
ws.title = "Change Sheet__"

ws["A"].value(aaa)

wb.save("aa.xlsx")

Ошибка:

Traceback (последний вызов был последним): файл "C: \ Users \ Davide \ Desktop \ aa.py", строка23, в ws ["A"]. Value (aaa) AttributeError: у объекта 'tuple' нет атрибута 'value'

Ответы [ 2 ]

0 голосов
/ 11 ноября 2019

IIUC, это должно работать:

from openpyxl import load_workbook
wb = load_workbook('aa.xlsx')
ws = wb['Sheet1'] # choose your sheet.

, тогда мы решаем заменить ваш столбец на ваш df.

col_to_replace = 'A'
for index, row in df.iterrows():
    cell = f'{col_to_replace}{index+2}'
    ws[cell] = row[0]

wb.save('aa.xlsx')
0 голосов
/ 10 ноября 2019

Если я добавлю это

n=1
for n in range(1, 100):
    ws.cell(row=n, column=1).value(4)
    n+1

Вставить все 4 в столбец A

Но я хочу, чтобы весь массив Yahoo ['Open'] был вставлен

...