Skip to content

Instantly share code, notes, and snippets.

@humanfactors
Forked from sburns/hack.py
Created November 20, 2017 06:38
Show Gist options
  • Save humanfactors/f88f3f7baa44571a1544cebb7fc7d333 to your computer and use it in GitHub Desktop.
Save humanfactors/f88f3f7baa44571a1544cebb7fc7d333 to your computer and use it in GitHub Desktop.
v1 at converting eprime .txt to pandas.DataFrame
import pandas as pd
F = '/fs0/New_Server/RC_LMS/In_Behavioral/028_207757/PassagesV2_ListA-7757-1.txt'
def parse(f):
data = {}
text = open(f).read().decode('utf-16').replace('\r\n', '\r').splitlines()
start_ind = (i for i, _ in enumerate(text) if _ == '\t\t*** LogFrame Start ***')
end_ind = (i for i, _ in enumerate(text) if _ == '\t\t*** LogFrame End ***')
for i, se in enumerate(zip(start_ind, end_ind)):
s, e = se
for row in text[s + 1: e]:
k, v = row.strip().replace(': ', ':').split(':')
if k not in data:
data[k] = [[], []]
data[k][0].append(v)
data[k][1].append(i)
# Massage
new_data = {}
for k, v in data.items():
ser = pd.Series(v[0], index=v[1])
new_data[k] = ser
return pd.DataFrame(new_data)
df = parse(F)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment