Datensatz bearbeiten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
informatikstudent
User
Beiträge: 2
Registriert: Donnerstag 3. September 2020, 09:48

Hallo,

ich habe ein Problem. Ich soll einen Datensatz bearbeiten. Ich habe bereits die Überschrift von dem Datensatz getrennt. Als nächstes möchte ich Die Daten, die schon in einem Block stehen einzeln in einer Zeile haben.
Also als Beispiel:
Ursprünglicher Datensatz
['1,15634602,Hargrave,619,France,Female,42,2,0,1,1,1,101348.88,1\n', '2,15647311,Hill,608,Spain,Female,41,1,83807.86,1,0,1,112542.58,0\n', '3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,1\n', '4,15701354,Boni,699,France,Female,39,1,0,2,0,0,93826.63,0\n', '5,15737888,Mitchell,850,Spain,Female,43,2,125510.82,1,1,1,79084.1,0\n', '6,15574012,Chu,645,Spain,Male,44,8,113755.78,2,1,0,149756.71,1\n', ...]

und ich möchte, dass es so aussieht
[ ['1', '15634602', 'Hargrave', '619', 'France', 'Female', '42', '2', '0', '1', '1', '1', '101348.88', '1\n'],

['2', '15647311', 'Hill', '608', 'Spain', 'Female', '41', '1', '83807.86', '1', '0', '1', '112542.58', '0\n'],

['3', '15619304', 'Onio', '502', 'France', 'Female', '42', '8', '159660.8', '3', '1', '0', '113931.57', '1\n'], ...]

ich habe mir schon überlegt, das ich warscheinlich mit .writelines() arbeiten muss. Und dann sagen muss, dass es nach /n immer einen Zeilenumbruch macht.

Leider habe ich keine Idee wie ich das umsetzen kann.
Kann mir da jemand helfen?

Danke schonmal im Vorraus
Benutzeravatar
Damaskus
Administrator
Beiträge: 995
Registriert: Sonntag 6. März 2005, 20:08
Wohnort: Schwabenländle

Hoffentlich sind das nur Demo Daten und keine echten persönliche Daten!
Benutzeravatar
sparrow
User
Beiträge: 4187
Registriert: Freitag 17. April 2009, 10:28

@Damaskus: Das scheinen Demodaten zu sein, die häufig im Bereich Data-Mining verwendet werden.

@informatikstudent: Warum denkst du denn, dass _write_lines richtig ist? Möchtest du etwas _schreiben_? Das Problem liegt beim Einlesen der Daten - also solltest du zeigen, wie du sie einliest.
Jankie
User
Beiträge: 592
Registriert: Mittwoch 26. September 2018, 14:06

Code: Alles auswählen

blabla = ['1,15634602,Hargrave,619,France,Female,42,2,0,1,1,1,101348.88,1\n', '2,15647311,Hill,608,Spain,Female,41,1,83807.86,1,0,1,112542.58,0\n', '3,15619304,Onio,502,France,Female,42,8,159660.8,3,1,0,113931.57,1\n', '4,15701354,Boni,699,France,Female,39,1,0,2,0,0,93826.63,0\n', '5,15737888,Mitchell,850,Spain,Female,43,2,125510.82,1,1,1,79084.1,0\n', '6,15574012,Chu,645,Spain,Male,44,8,113755.78,2,1,0,149756.71,1\n']

for x in blabla:
    print(x.split(","))
Ergebnis:

Code: Alles auswählen

['1', '15634602', 'Hargrave', '619', 'France', 'Female', '42', '2', '0', '1', '1', '1', '101348.88', '1\n']
['2', '15647311', 'Hill', '608', 'Spain', 'Female', '41', '1', '83807.86', '1', '0', '1', '112542.58', '0\n']
['3', '15619304', 'Onio', '502', 'France', 'Female', '42', '8', '159660.8', '3', '1', '0', '113931.57', '1\n']
['4', '15701354', 'Boni', '699', 'France', 'Female', '39', '1', '0', '2', '0', '0', '93826.63', '0\n']
['5', '15737888', 'Mitchell', '850', 'Spain', 'Female', '43', '2', '125510.82', '1', '1', '1', '79084.1', '0\n']
['6', '15574012', 'Chu', '645', 'Spain', 'Male', '44', '8', '113755.78', '2', '1', '0', '149756.71', '1\n']
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@Jankie: egal was blabla für Daten sind, x ist niemals der korrekte Variablenname für einen String der Daten enthält, die mit Komma getrennt sind.

@informatikstudent: für solche Art Daten gibt es pandas, das schon passende Routinen hat, zum Lesen von Dateien (inklusive Header).
Antworten