切分的数据的格式如下:
"好 吧 、 谢谢 啊 !","你好 咱们 这个 机器人 有 收费 版本 没 ? 要个 功能 全面 点 的 。",0 "好 的 麻烦 你 了","可以 使唤 机器人 踢 人 出群 吗",0 "怎么 艾特 机器人 投诉 ?","噢 , 谢谢",0 "怎么 修改 聊天 助手 回复 @ 它 是 谁 的 内容 。","你好 , 定制 机器人 怎么弄 ?",0 "你好 我 给 群 里加 个 助手 , 怎么 没 通过 啊 ?","怎么 订阅",0 "你好 需要 转回 群主","机器人 咋 不 工作 都 设置 了 。 没 反应 咋",0 "北京 今天天气 怎样 ?","好 . 成功 了 谢谢",0 "好 . 成功 了 谢谢","怎么 机器人 聊天 功能 没有 生效 开启 了 咨询服务",0 "北京 今天天气 怎样 ?","好 的 谢谢",0 "好 的 , 谢谢 你 成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","你好 ,",0 "怎么 修改 聊天 助手 回复 @ 它 是 谁 的 内容 。","好 啊",0 "萌萌 你好","好 的 , 谢谢 你 成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀",0 "你好 需要 转回 群主","有人 吗",0 "嗯 嗯 好 的 谢谢","哦 哦 我 试试看",0 "怎么 艾特 机器人 投诉 ?","哦 哦 我 试试看",0
python代码
f=open('/home/xingyuzhou/Downloads/scen_train_sim.csv') while True: line=f.readline() if line==None: break a=line.split('",') if len(a) >= 3: print(line) b=a[0][1:] #print(b) fl1=open('/home/xingyuzhou/Desktop/a.txt','a') fl1.write(b + ' ') c=a[1][1:] print(c) fl2=open('/home/xingyuzhou/Desktop/b.txt','a') fl2.write(c + ' ') d=a[2][:1] fl3=open('/home/xingyuzhou/Desktop/sim.txt','a') fl3.write(d + ' ')
如果没有if len(a) >= 3,就会报错,因为有些行可能分割出来不够b,c,d三个。
中间调试过程中不断添加print语句,这样能看见到底哪里出错,注意这种调试的方法。
Context,Ground Truth,Distractor_0,Distractor_1,Distractor_2,Distractor_3,Distractor_4,Distractor_5,Distractor_6,Distractor_7,Distractor_8 "天津 天气 如何","今天 武汉 的 天气 怎样 ?","好 吧","好 . 成功 了 谢谢","怎么 添加 官方 机器人","我 的 机器人 不好 使 了","在 吗 ?","嗯 嗯 好 的 谢谢","恩恩 怎么 看 统计 呢","谢谢 亲","在" "天津 天气 如何","北京 今天天气 怎样 ?","好 的 , 谢谢 你 成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","小涛 要 怎样 才 可以 拉 进群","你好 , 定制 机器人 怎么弄 ?","你 这 是 什么 有 什么 功能 怎么 用","怎么 购买 机器人","好 的 , 谢谢 你 成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","在 吗 我 机器人 在 群里 一天 就 没有 用 了 然后 我 重新 关注 公众 号 现在 机器人 进不了 群","怎么 换 头像 呀","天气 ?" "天津 天气 如何","北京 天气 怎么样 ?","怎么 换 头像 呀","哦 谢谢","怎么 艾特 机器人 投诉 ?","在 吗","好 的 , 谢谢 你","怎么 创建","好 啊","你 这 是 什么 有 什么 功能 怎么 用","你好" "天津 天气 如何","天气 ?","怎么 换 头像 呀","怎么 添加 机器人","好 的 , 谢谢 你","好 吧 希望 快 一点 呢","好 我先 试试","知道 了 麻烦 尽快 哦 谢谢","哦 我 试试 谢谢 了 微友 助手 的 公众 号 是 多少","我 的 机器人 不好 使 了","创建 机器人 的 那个 微 信号 还 能 抢红包 吗" "恩好 的","好 的","好 的 , 谢谢","在 吗 ?","好 的 , 谢谢","怎么 换 头像 呀","请问 机器人 不 工作 是 怎么回事 的 呢","专用 助手 怎么 用","你好 我 给 群 里加 个 助手 , 怎么 没 通过 啊 ?","怎么 机器人 聊天 功能 没有 生效 开启 了 咨询服务","定制 机器人 怎么弄 ?" "恩好 的","好 的 ~","在 吗","好 的 ~","怎么 换 头像 呀","怎么 添加 机器人","我 的 微友 小浩 怎么 不 进群","怎么 添加 官方 机器人","好 的 , 谢谢","好 的 ~","在 么 萌萌" "恩好 的","好 啊","嗯 嗯 明白 谢谢","在 吗 ?","可以 使唤 机器人 踢 人 出群 吗","你好 , 帮忙 把 群主 转给 我 , 好 吗","哦 哦 我 试试看","定制 机器人 怎么弄 ?","好 的 我 试试","好 的 , 谢谢 你 成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","在 吗 我 机器人 在 群里 一天 就 没有 用 了 然后 我 重新 关注 公众 号 现在 机器人 进不了 群" "你好 啊","你好","怎么 创建","好 , 试试 , 谢谢 !","在 不 在 啊","在 吗 ?","踢 人 失败 是 怎么回事","好 , 试试 , 谢谢 !","踢 人 失败 是 怎么回事","怎么 拉小涛 进群","好 的 我 试试看" "你好 啊","你好 ,","哦 我 试试 谢谢 了 微友 助手 的 公众 号 是 多少","天气 ?","好 的 谢谢","怎么 添加 官方 机器人","专用 助手 怎么 用","在 吗","怎么 添加 专属 机器人 呢 ?","你好 … 我 的 微信 机器 助手 为什么 不 可以 使用 了 ? 有 什么 解决方案 吗","怎么 订阅" "你好 啊","萌萌 你好","恩恩 怎么 看 统计 呢","可以 使唤 机器人 踢 人 出群 吗","好 . 成功 了 谢谢","机器人 咋 不 工作 都 设置 了 。 没 反应 咋","怎么 添加 机器人","哦 谢谢","我 的 微友 小浩 怎么 不 进群","专用 助手 怎么 用","在 不 在 啊" "把 小黑 拉 进群","小涛 要 怎样 才 可以 拉 进群","在","天气 ?","你好 , 帮忙 把 群主 转给 我 , 好 吗","怎么 订阅","我 的 微友 小浩 怎么 不 进群","好 吧","哦 哦 我 试试看","谢谢 你","小涛 要 怎样 才 可以 拉 进群"
上面是测试集的数据,也需要分割,可以看到出有的一组数据是一行,有的占两行。对于有两行的,如果用readline读出来难道也要分成两行吗?实际上并不是,出来的结果是一组对应一行。为什么占两行那几组也能按一行去读取数据呢?实际上,你所看到的两行是因为屏幕不够大或者编辑器的宽度不够大,导致视觉上分成两行,但这两行之间并没有出现换行符’ ‘。readline读取每一行不是按照视觉上的一行一行读取,而是根据换行符确定这一行结束。
以下为分割代码:
f=open('/home/xbwang/Desktop/scen_test_sim.csv','r') while True: line=f.readline() if line==None: break a=line.split('","') if len(a) >= 11: con=a[0][1:] fl1=open('/home/xbwang/Desktop/aa1.txt','a') fl1.write(con + ' ') gt=a[1] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(gt + ' ') d0=a[2] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d0 + ' ') d1=a[3] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d1 + ' ') d2=a[4] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d2 + ' ') d3=a[5] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d3 + ' ') d4=a[6] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d4 + ' ') d5=a[7] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d5 + ' ') d6=a[8] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d6 + ' ') d7=a[9] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d7 + ' ') d8=a[10][:-1] fl2=open('/home/xbwang/Desktop/aa2.txt','a') fl2.write(d8 + ' ')