Ich habe eine Textdatei, „blah.txt“ und in ihm enthält diese Daten erkennen:eine Liste aus einer Textdatei
blah1: [01,02,03]
blah2: [01,02,03]
Ich kann durch die Datei lesen und in einer Liste damit abfinden:
reader = csv.reader(open('blah.txt'),delimiter=":")
Aber [01,02,03] wird nicht als Liste, sondern als String erkannt. Gibt es einen kurzen und einfachen Weg, es so zu machen, dass es es als Liste erkennt?
Voll Code:
import csv, operator
reader = csv.reader(open('file.txt'),delimiter=":")
sortedlist = sorted(reader, reverse=True)
for name, score in sortedlist:
print(score)
Edit:
I
blah1:010203
blah2:010203
die Daten als stattdessen schreiben und verwenden diese:
import csv, operator
reader = csv.reader(open('file.txt'),delimiter=":")
sortedlist = sorted(reader, reverse=True)
for name, score in sortedlist:
score = [int(score[i:i+2]) for i in range(0, len(score), 2)]
print(name, score)
Es ist jedoch nicht bequem, direkt aus der Textdatei zu lesen (nach Personen).
hässliche Version sein könnte 'json.loads (score)' – Torxed
@Torxed, ich bin nicht ganz sicher, was das bedeutet? –
Es wird eine Zeichenkette "[1,2,3]" genommen und in ein tatsächliches Listenobjekt konvertiert, da es sich um ein JSON akzeptiertes Format handelt. JSON ist eine Art Protokoll/Variablentyp – Torxed