2017-11-22 2 views
-1

Ich habe eine sehr einfache Anfrage. Ich möchte eine Python-Funktion schreiben, die mehrere CSV-Dateien von einer Website herunterladen und sie an einem bestimmten Speicherort speichern kann. Ich habe gefunden, wie man einfach eine csv-Datei herunterlädt, aber eine Funktion erstellen möchte, die das mehrere Male tun kann, so dass eine andere Datei jede Wiederholung heruntergeladen wird.Python-Funktion, die als Makro

import urllib 
url = "http://www.football-data.co.uk/mmz4281/1718/File.csv" 
get = urllib.urlretrieve(url , "X:\Data\File.csv") 
get 

Ich möchte oben in dem Code „Datei“ ändern „X“ sagen, dann „Y“, „Z“ usw.

Kann mir bitte jemand zeigen, wie das gemacht wird.

Vielen Dank

+1

Diese Art von Frage scheint mir, dass Sie überhaupt keine Programmiererfahrung haben. Vielleicht sollten Sie einfachere Beispiele zuerst ausprobieren ... – mrCarnivore

+0

Richtig Ich bin kein Programmierer. Ich möchte das nur tun. Jede Hilfe wäre willkommen. –

+0

Bitte versuchen Sie zuerst einfachere Beispiele. Es gibt viele Tutorials da draußen. Sie sollten nach Zeichenfolgenbehandlung und Zeichenfolgenverkettung suchen. – mrCarnivore

Antwort

1

Sie können dies auf verschiedene Arten tun. Erstellen Sie zuerst eine Liste von Dateinamen, finden Sie deren Länge und führen Sie dann eine Schleife aus, um Ihre Daten zu erhalten. Unten ist der Code: -

A = ['X', 'Y', 'Z'] 
length = len(A) 
for i in range (0,length): 
    u = "http://www.football-data.co.uk/mmz4281/1718/" 
    r = A[i] 
    url = u + r + ".csv" 
    temp = "X:\Data\" + r + ".csv" 
    get = urllib.urlretrieve(url , temp) 
    get 

Ich hoffe, das hilft.

+0

a ändern.) Sie können dort auch 'for a in A' verwenden. b.) Verkette niemals solche Pfade/URLs. TU das niemals. Du wirst dich mit diesem großen Fuß in den Fuß schießen. Hier kommen Sicherheitslücken zum Tragen. – mroman

+1

@Harry_pb Vielen Dank für Ihre großartige Lösung –

-1

Wenn Sie etwas wollen, wie zu tun, dass Sie sich die Zeit wahrscheinlich investieren sollten selbst die einfachsten Grundlagen der Programmiersprachen, um tatsächlich zu lernen. Wie auch immer,

for f in files: 
    s = 'Hi, ' + f 
    print s 

Sollte Ihnen einen Hinweis geben, was Sie tun müssen. Beachten Sie jedoch, dass Sie solche Pfade nicht einfach verketten können, da dies nicht sicher ist. Sie müssen verwenden urljoin und os.path.join