En exécutant le code suivant :
import datetime as dt
from datetime import datetime
import pandas as pd
import pandas_datareader.data as web
from pandas import ExcelWriter
import xlrd
import xlwt
start = dt.datetime.strptime("8/11/2017", "%m/%d/%Y")
end = dt.datetime.today()
book = xlrd.open_workbook('Example.xlsx')
sheet = book.sheet_by_name('Okay')
data = sheet.col_values(0, 1)
##print(data)
df = web.DataReader(data, 'yahoo', start, end)
print(df)
resultingdf = pd.concat([data], axis=1)
Je reçois l'erreur suivante :
TypeError: cannot concatenate object of type "<class 'list'>"; only pd.Series, pd.DataFrame, and pd.Panel (deprecated) objs are valid
Cependant, lorsque je cesse de concaténer et que j'imprime simplement le cadre de données, le résultat est le suivant :
<class 'pandas.core.panel.Panel'>
Dimensions: 6 (items) x 79 (major_axis) x 4 (minor_axis)
Items axis: Adj Close to Volume
Major_axis axis: 2017-12-01 00:00:00 to 2017-08-11 00:00:00
Minor_axis axis: AAPL to UCTT
Je rate manifestement quelque chose, mais il semble que le code ne veuille pas s'exécuter correctement parce qu'il ne veut pas concaténer une liste... mais la sortie de la ligne précédente ne le classe pas comme une liste, mais comme un panneau, qui peut être concaténé. Hmmm
Mon objectif final est de pouvoir écrire l'ensemble de la trame de données dans UNE feuille Excel, idéalement avec l'ouverture, la fermeture, le haut, le bas, le volume d'un titre avant de passer à l'ouverture, la fermeture, etc. d'un autre titre ; c'est toutefois un objectif secondaire. En l'état actuel des choses, si je devais écrire cela dans une feuille Excel, les "cours d'ouverture" de chaque action seraient inscrits sur un onglet, les "cours de clôture" sur un autre, et ainsi de suite, me laissant avec plus de 5 onglets. Toute aide serait la bienvenue. Merci d'avance.