Epime 输出一个 .txt 文件,如下所示:
***标题开始*** 版本持续:1 级别名称:会话 主题:7 会话:1 随机种子:-1983293234 组:1 显示刷新率:59.654 *** 标题结束 *** 等级:2 *** LogFrame 开始 *** 均值效应偏差:7 程序:trialProc 物品编号:7 偏见1答案:1 *** LogFrame 结束 *** 等级:2 *** LogFrame 开始 *** 均值效应偏差:2 程序:trialProc 物品编号:2 偏见1答案:0
我想解析它并将其写入 .csv 文件,但删除了许多行。
我尝试创建一个字典,将出现在冒号之前的文本作为键,将出现在冒号之后的文本作为值:
{主题:[7, 7],bias1Answer:[1, 0],itemID:[7, 2]}
def load_data(文件名): 数据 = {} eprime = 打开(文件名,'r') 对于 eprim 中的行: rows = re.sub('\s+', ' ', line).strip().split(':') 尝试: 数据[行[0]] += 行[1] 除了 KeyError: 数据[行[0]] = 行[1] eprime.close() 返回数据
对于打开的行(文件名,'r'): 如果':'在行: 行 = line.strip().split(':') fullDict[行[0]] = 行[1] 打印完整字典
下面的两个脚本都会产生垃圾:
{'\x00\t\x00M\x00e\x00a\x00n\x00s\x00E\x00f\x00f\x00e\x00c\x00t\x00B\x00i\x00a\x00s\x00': '\x00\x005\x00\r\ x00', '\x00\t\x00B\x00i\x00a\x00s\x002\x00Q\x00.\x00D\x00u\x00r\x00a\x00t\x00i\x00o\x00n\x00E\x00r\x00r\x00o\x00r\ x00': '\x00\x00-\x009\x009\x009\x009\x009\x009\x00\r\x00'
如果我可以设置字典,我可以将它写入一个看起来像这样的 csv 文件!!:
主题项目ID ...bias1Answer 7 7 1 7 2 0