Ich habe diese CSV-Datei. Ich möchte dies in ein Wörterbuch umwandeln. Diese CSV-Datei enthält 17584980
LinienCSV in Wörterbuch-Konvertierung
ozone,particullate_matter,carbon_monoxide,sulfure_dioxide,nitrogen_dioxide,longitude,latitude,timestamp,avgMeasuredTime,avgSpeed,extID,medianMeasuredTime,TIMESTAMP:1,vehicleCount,_id,REPORT_ID,Lat1,Long1,Lat2,Long2,Distance between 2 points,duration of measurements,ndt in kmh
127,38,62,22,39,10.1050,56.2317,1406859600,74,50,668,74,1406859600,5,20746220,158324,56.2317,10.1050,56.2258,10.1166,1030,52,71
122,35,61,17,34,10.1050,56.2317,1406859900,73,50,668,73,1406859900,6,20746392,158324,56.2317,10.1050,56.2258,10.1166,1030,52,71
117,36,65,24,34,10.1050,56.2317,1406860200,61,60,668,61,1406860200,4,20746723,158324,56.2317,10.1050,56.2258,10.1166,1030,52,71
Was ich
#code to generate dictionaries from csv file
import csv
reader = csv.DictReader(open('resultsout.csv'))
output = open("finaldata.py","w")
result = {}
for row in reader:
for column, value in row.iteritems():
result.setdefault(column, []).append(float(value))
output.write(str(result))
Fehler versucht haben:
Traceback (most recent call last):
File "dictionaries.py", line 11, in <module>
result.setdefault(column, []).append(float(value))
ialueError: invalid literal for float(): 32
Aber dieser Code vor
arbeitete
Was ist, wenn Sie 'Pandas' verwenden, um die' csv' Datei anzugehen? Ich denke, es ist mehr Bequemlichkeit und auch einfacher. – arnold
Jetzt funktioniert es auch, In Python 2.7 habe ich den gleichen Code ausprobiert, aber editiere die Einrückung in dieser Zeile: result.setdefault (column, []). Append (float (value)) – Murali
result.setdefault (column, [ ]). append (float (value)), In dieser Zeile versuchen Sie, einen Wert in float umzuwandeln, wenn ein ungültiger Literalwert auftritt, verursacht dies einen Fehler. – Murali