Vom CSV zur Matrix

../_images/teddy.jpg

CSV einlesen

Die verwendete CSV hat folgende Besonderheiten, die beim Einlesen zu beachten sind:

  • Headerzeile mit den Objektbezeichnungen weggelassen.

  • Die erste Zeile enthält Attributbezeichnungen, die ausgesondert/ignoriert werden sollen.

Hinweis

Für das Einlesen der CSV-Datei, müssen die Pfade entsprechend angepasst werden!

Hier nochmal der Inhalt der Datei »spayout-test.txt«:

test    q1  q2  q3  q4
a   2   3   4   5
b   5   4   3   2
c   6   4   3   2
d   5   4   2   5
e   5   5   3   1
f   1   4   5   2
g   7   1   7   7
h   1   8   1   1
i   10  10  8   8
data <- read.csv('spyout-test.txt', sep="\t")
mx <-data.matrix(data)
print(mx)

 test q1 q2 q3 q4
[1,]    1  2  3  4  5
[2,]    2  5  4  3  2
[3,]    3  6  4  3  2
[4,]    4  5  4  2  5
[5,]    5  5  5  3  1
[6,]    6  1  4  5  2
[7,]    7  7  1  7  7
[8,]    8  1  8  1  1
[9,]    9 10 10  8  8
import csv
with open('../../dateien/spyout-test.txt', mode ='r') as file:
csvFile = csv.reader(file, delimiter='\t')
# erste Zeile überspringen
next(csvFile)
data = []
# einlesen und erste Spalte weglassen
for line in csvFile:
    data.append(list(map(int, line[1:])))
for row in data:
    print(row)

[2, 3, 4, 5]
[5, 4, 3, 2]
[6, 4, 3, 2]
[5, 4, 2, 5]
[5, 5, 3, 1]
[1, 4, 5, 2]
[7, 1, 7, 7]
[1, 8, 1, 1]
[10, 10, 8, 8]
import pandas as pd
# Einlesen ohne die erste Zeile
data = pd.read_csv('spyout-test.txt', sep="\t",skiprows=1)
# Erste Spalte entfernen
df = data.iloc[:,1:]

    2   3  4  5
0   5   4  3  2
1   6   4  3  2
2   5   4  2  5
3   5   5  3  1
4   1   4  5  2
5   7   1  7  7
6   1   8  1  1
7  10  10  8  8