list comprehension für Items in einer liste eine .replace(",",'.')

Installation und Anwendung von Datenbankschnittstellen wie SQLite, PostgreSQL, MySQL, der DB-API 2.0 und sonstigen Datenbanksystemen.
telegraph
User
Beiträge: 31
Registriert: Mittwoch 6. November 2013, 10:59

list comprehension für Items in einer liste eine .replace(",",'.')

Beitragvon telegraph » Freitag 16. März 2018, 20:21

Hallo zusammen,

ich habe eine liste mir den Index 0 bis 15 Für die Ich gerne das Komma durch einen Punkt ersetzen würde, damit ich die direct sauber zum plotten sind. Und hab keine Idee wo ich anfangen soll


  1. for i in liste_of_csv:
  2.     values = select_values(i)
  3.     #print(values[0:15])
  4.     data_entery_list(values[0:15])
  5.  
  6.  
  7. for i in liste_of_csv:
  8.     values = select_values(i)
  9.     #print(values[0:15])
  10.     data_entery_list(values[0:15 ".replace(",",".") "])
Benutzeravatar
noisefloor
User
Beiträge: 2306
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Re: list comprehension für Items in einer liste eine .replace(",",'.')

Beitragvon noisefloor » Freitag 16. März 2018, 22:05

Hallo,

ist `liste_of_csv` eine Liste oder eine Liste von Listen?

Die `replace` Methode kannst du nur auf Strings anwenden - sind das alles Strings in der Liste? Und du musst es natürlich elementweise anwenden, `replace` für eine ganze "Zeile" der Liste geht nicht.

Beispiel:

  1. >>> my_list = [['12', '1,2'],['13,45', '14,67']]
  2. >>> new_list = []
  3. >>> for sub_list in my_list:
  4. ...     new_list.append([x.replace(',', '.') for x in sub_list])
  5. ...
  6. >>> new_list
  7. [['12', '1.2'], ['13.45', '14.67']]
  8. >>>


Gruß, noisefloor
telegraph
User
Beiträge: 31
Registriert: Mittwoch 6. November 2013, 10:59

Re: list comprehension für Items in einer liste eine .replace(",",'.')

Beitragvon telegraph » Samstag 17. März 2018, 23:10

Danke noisfloor,

matplotlib kann auch von einer sqlite3 Datenbank die floats plotten auch mit ",". Das hat in den test ohne DB nicht funktioniert.
Benutzeravatar
noisefloor
User
Beiträge: 2306
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: Görgeshausen
Kontaktdaten:

Re: list comprehension für Items in einer liste eine .replace(",",'.')

Beitragvon noisefloor » Sonntag 18. März 2018, 10:25

Hallo,

für die allermeisten Programmiersprachen sind Floats nun mal 1.23 und nicht 1,23 (also mit Punkt, nicht Komma). Matplotlib kann das auch "nur", weil es da scheinbar einen Konverter gibt, der das für die erledigt. Pandas hat / kann sowas auch.

Grundsätzlich ist es aber eine gute Idee, Floats als 1.23 (also mit Punkt) zu speichern. Für SQLite ist 1,23 sicher auch vom Typ TEXT und nicht REAL - sofern du dir nicht selber einen Konverter geschrieben hast.

Gruß, noisefloor

Wer ist online?

Mitglieder in diesem Forum: Google [Bot]