Seite 1 von 1

Daten in einer Excelzelle in einzelne Spalten separieren

Verfasst: Do Sep 27, 2018 9:54 am
von leonard_24
Guten Morgen,

ich habe ein kleines Problem, mit dem ich nicht so gut zurecht komme:

Es liegt ein Rohdatenfile (Excel) vor, die verschiedene Informationen zu Kunden enthält. Das Problem: Die Daten sind nicht in Spalten eingetragen, sondern sind, durch Kommas getrennt, einfach in den jeweiligen Zeilen der Spalte A drinnen:
Erst kommen die Spaltennummerierung (A bis C), darunter die Spaltenüberschrift (auch in Zelle A1 durch Kommas getrennt) und ab Zeile 2 die Infos, auch durch Kommas getrennt

A_______B______C_______
ID, Firma, Produkt
12, xyz, beta

Wie kann ich möglichst einfach in R die einzelnen Infos (ID, Firma, Produkt) trennen und in jeweils eine Spalte reinbauen?

Viele Grüße

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Verfasst: Do Sep 27, 2018 12:01 pm
von jogo
Hallo Leonard,

hast Du die Excel-Datei schon eingelesen und kannst uns die Struktur des Dataframes zeigen?
Um wie viele Zeilen/Beobachtungen geht es. Wenn es nicht allzu viele sind, gibt es noch andere Möglichkeiten.

Gruß, Jörg

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Verfasst: Do Sep 27, 2018 6:57 pm
von EDi
Rohdatenfile (Excel)
Vielleicht ist ja ja gar keine xls(x) Datei, sondern ein csv? Die kann man mit read.table direkt einlesen... Aber ohne ein Beispiel bleibt das Spekulation...

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Verfasst: Do Sep 27, 2018 8:24 pm
von student
Wenn es eine csv-Datei ist und die Daten durch Kommas getrennt, dann hilft direkt read.csv() weiter.

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Verfasst: Fr Sep 28, 2018 11:02 am
von leonard_24
sorry für die späte antwort:
> str(df)
'data.frame': 22406 obs. of 1 variable:
$ firm1_id.name.firm2_id.name.product1.product2.product3: Factor w/ 22406 levels "0,Firm a,123456,ABC GmbH,1,0,0",..: 309 325 342 ...
wenn ich direkt df aufrufe (eine bsp-zeile):

123456,ABC GmbH,222222,XZT GmbH,2,0,0

weiß allerdings nicht, ob das wirklich weiterhilft

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Verfasst: Fr Sep 28, 2018 12:51 pm
von jogo
Hallo Leonard,

dann probier doch bitte:

Code: Alles auswählen

dfneu <- read.csv(text=df[,1], header=FALSE)
und lies bitte viewtopic.php?f=20&t=29 wegen der Formatierungen.

Gruß, Jörg

Re: Daten in einer Excelzelle in einzelne Spalten separieren

Verfasst: Fr Okt 19, 2018 11:54 am
von ruedi_br
Eine weitere Variante wäre, mit read.table die Daten einzulesen, mit Header=FALSE, sep="," und col.names = c( ... Liste der Spaltennamen ...) die dann mit colClasses auch gleich den richtigen Variablentypen zugeordnet werden können.
Gruß Ruedi