Seite 1 von 1

Datensatz bearbeiten

Verfasst: Donnerstag 3. September 2020, 09:58
von informatikstudent
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

Re: Datensatz bearbeiten

Verfasst: Donnerstag 3. September 2020, 10:32
von Damaskus
Hoffentlich sind das nur Demo Daten und keine echten persönliche Daten!

Re: Datensatz bearbeiten

Verfasst: Donnerstag 3. September 2020, 10:38
von sparrow
@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.

Re: Datensatz bearbeiten

Verfasst: Donnerstag 3. September 2020, 10:41
von Jankie

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']

Re: Datensatz bearbeiten

Verfasst: Donnerstag 3. September 2020, 10:50
von Sirius3
@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).