Seite 1 von 1

clipboard to Panda

Verfasst: Montag 26. November 2018, 22:29
von SautaRoc
Hallo,

ich lade aus einem Handelsprogramm Transaktionsdaten in das Clipboard um sie später in Python verarbeiten zu können:

Code: Alles auswählen

import pyperclip

rohdaten = pyperclip.paste()
rohdaten1 = (rohdaten.replace('\t', ';'))
rohdaten2 = (rohdaten1.replace(' ', ''))
print(rohdaten2)


Das Ergebnis schaut dann so aus:

Code: Alles auswählen

26Nov18;09:18:38:151;S;1;11331.0
26Nov18;09:18:21:806;B;1;11329.5
26Nov18;09:16:53:787;S;1;11328.5
26Nov18;09:16:28:712;S;1;11333.5
26Nov18;09:16:15:499;B;1;11328.5
26Nov18;09:15:04:219;B;1;11330.5
26Nov18;09:09:19:638;S;1;11320.0
26Nov18;09:09:15:865;S;1;11315.5
26Nov18;09:08:07:054;B;1;11308.0
26Nov18;09:07:35:972;B;1;11313.0
26Nov18;09:05:43:336;S;1;11311.5
26Nov18;09:05:36:819;S;1;11310.0
26Nov18;09:05:07:702;B;1;11305.5
26Nov18;09:04:17:227;B;1;11303.5
26Nov18;08:32:46:965;B;1;11272.0
26Nov18;08:32:11:045;S;1;11271.5

Die Ursprungsidee war, die Daten so umzuformen, dass sie einer .csv entsprechen. ich wollte dann den String als .csv speichern, um ihn dann später über pd.read_csv in einen Dataframe zu packen und meine Auswertung zu machen.

Code: Alles auswählen

f = open('test.csv', 'wb')
f.write(rohdaten2)
f.close

Das funktioniert leider nicht. Kann mir jemand auf die Sprünge helfen wie man so ein Problem angeht? Im Grunde will ich die Datan nur in einem DataFrame haben, der Umweg über die .csv war nur mein erster Ansatz. Ich benötige nicht unbedingt eine .csv


Danke.

Re: clipboard to Panda

Verfasst: Montag 26. November 2018, 22:38
von Sirius3
close sollte man auch aufrufen.

Aber Du kannst Dir das alles auch sparen:

Code: Alles auswählen

data = pandas.read_clipboard(delimiter='\t')

Re: clipboard to Panda

Verfasst: Montag 26. November 2018, 22:52
von SautaRoc
vielen Dank, das spart mir Stunden an suchen und probieren! Es funktioniert, nur wird die erste Zeile des Datensatzes als Header verwendet.
Das konnte ich aber lösen, indem ich die Header ergänze:

Code: Alles auswählen

import pandas as pd
data = pd.read_clipboard(delimiter='\t')
data.columns = ['Datum', 'Zeit', 'B/S', 'Menge', 'Preis']
print(data)
print(data.dtypes)

Re: clipboard to Panda

Verfasst: Dienstag 27. November 2018, 07:13
von ThomasL
read_clipboard() hat noch die selben Parameter wie read_table()
sollte auch so funktionieren (auf die Schnelle nicht getestet)

Code: Alles auswählen

data = pd.read_clipboard(delimiter='\t', header=None, index_col=['Datum', 'Zeit', 'B/S', 'Menge', 'Preis'])