Also was passiert, na ja, ein Anruf an help
kann etwas Licht vergießen.
>>> help(csv.reader)
reader(...)
csv_reader = reader(iterable [, dialect='excel']
[optional keyword args])
for row in csv_reader:
process(row)
The "iterable" argument can be any object that returns a line
of input for each iteration, such as a file object or a list. The
optional "dialect" parameter is discussed below. The function
also accepts optional keyword arguments which override settings
provided by the dialect.
so scheint es, dass csv.reader
einen Iterator irgendeiner Art erwartet, die eine Linie zurückkehren, aber wir sind vorbei eine Zeichenkette, die eine Iteration auf einem char Basen, die warum zeichenweise seine Analyse ist, besteht eine Möglichkeit, dies zu beheben wäre eine temporäre Datei zu erzeugen, aber wir müssen nicht, müssen wir nur irgendein iterables Objekt übergeben.
beachten Sie folgendes, das die Zeichenfolge einfach in eine Liste von Zeilen aufteilt, bevor sie dem Leser zugeführt wird.
import csv
import requests
r = requests.get('http://vote.wa.gov/results/current/export/MediaResults.txt')
data = r.text
reader = csv.reader(data.splitlines(), delimiter='\t')
for row in reader:
print row
das scheint zu funktionieren.
Ich empfehle auch csv.DictReader
ist es recht nützlich.
>>> reader = csv.DictReader(data.splitlines(), delimiter='\t')
>>> for row in reader:
... print row
{'Votes': '417141', 'BallotName': 'Michael Baumgartner', 'RaceID': '2', 'RaceName': 'U.S. Senator', 'PartyName': '(Prefers Republican Party)', 'TotalBallotsCastByRace': '1387059', 'RaceJurisdictionTypeName': 'Federal', 'BallotID': '23036'}
{'Votes': '15005', 'BallotName': 'Will Baker', 'RaceID': '2', 'RaceName': 'U.S. Senator', 'PartyName': '(Prefers Reform Party)', 'TotalBallotsCastByRace': '1387059', 'RaceJurisdictionTypeName': 'Federal', 'BallotID': '27435'}
im Grunde gibt es ein Wörterbuch für jede Zeile, die Kopfzeile als Schlüssel, so brauchen wir nicht den Überblick über die Ordnung zu halten, sondern nur der Name macht ein bisschen leichter für uns, dh row['Votes']
scheint besser lesbar als row[4]
...
Ich hätte das selbst herausfinden müssen. Vielen Dank. – foxyNinja7