Je souhaite accéder au fichier automatiquement à l'aide de Python 3. Le site Web est https://www.dax-indices.com/documents/dax-indices/documents/resources/weightingfiles/Ranking/2019/march/mdax_rkc.20190329.xls
Lorsque vous entrez manuellement l'URL dans l'explorateur, il vous demande de télécharger le fichier, mais je veux le faire dans Python automatiquement et chargez les données comme DF. P>
Je reçois ci-dessous ERROR P>
URLERROR: P>
from urllib.request import urlretrieve
import pandas as pd
# Assign url of file: url
url = 'https://www.dax-indices.com/documents/dax-indices/Documents/Resources/WeightingFiles/Ranking/2019/March/MDAX_RKC.20190329.xls'
# Save file locally
urlretrieve(url, 'my-sheet.xls')
# Read file into a DataFrame and print its head
df=pd.read_excel('my-sheet.xls')
print(df.head())
URLError: <urlopen error [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>
4 Réponses :
$ curl https://www.dax-inices.com/documents/dax-indices/documents/resources/weightingfiles/Ranking/2019/march/mdax_rkc.20190329.xls code> <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>307 Temporary Redirect</title>
</head><body>
<h1>Temporary Redirect</h1>
<p>The document has moved <a href="https://www.dax-indices.com/document/Resources/WeightingFiles/Ranking/2019/March/MDAX_RKC.20190329.xls">here</a>.</p>
</body></html>
J'ai couru votre code dans un environnement Jupyter et cela a fonctionné. Aucune erreur n'a été invitée, mais le Dataframe n'a que des valeurs NaN. J'ai vérifié le fichier XLS que vous essayez de lire et il semble ne contenir aucune donnée ...
Il existe d'autres moyens de récupérer des données XLS, telles que: Téléchargement d'un fichier Excel du Web à Python P>
import requests
url = 'https://www.dax-indices.com/documents/dax-indices/Documents/Resources/WeightingFiles/Ranking/2019/March/MDAX_RKC.20190329.xls'
resp = requests.get(url)
output = open('my-sheet.xls', 'wb')
output.write(resp.content)
output.close()
df=pd.read_excel('my-sheet.xls')
print(df.head())
Vous pouvez le faire directement avec des pandas et . Read_excel méthode sortie p> p>
Désolé mate. Cela fonctionne sur mon PC (pas un commentaire très utile tbh). Voici une liste de choses que vous pouvez faire -> p>
pourrait être votre problème d'Internet .. parce que fonctionnant parfaitement à mes côtés
Êtes-vous derrière un proxy? Essayez Cette réponse pour des solutions possibles.