Skip to content

Instantly share code, notes, and snippets.

@ronfe
Created November 27, 2015 01:09
Show Gist options
  • Save ronfe/03dfeb243de6cc0c2b85 to your computer and use it in GitHub Desktop.
Save ronfe/03dfeb243de6cc0c2b85 to your computer and use it in GitHub Desktop.
We can make this file beautiful and searchable if this error is corrected: It looks like row 7 should actually have 1 column, instead of 3 in line 6.
知识点页-点击学习模块|知识点页课前学习,点击“进入”|startLearning|course|所在知识点ID|topicId: ObjectId
视频页-开始|视频页,视频加载并开始播放|startVideo|video|视频ID|videoId: ObjectId
视频页-暂停|视频页,点击暂停按钮|pauseVideo|video|视频ID|videoId: ObjectId|用户暂停时的视频时间戳(毫秒单位,下同)|pauseTime: Number
视频页-恢复|视频页,暂停视频后,再次点击播放|resumeVideo|video|视频ID|videoId: ObjectId|用户点击播放时的视频时间戳|resumeTime: Number
视频页-回退|视频页,点击回退10秒|rollbackVideo|video|视频ID|videoId: ObjectId|用户回退钱所在的视频时间戳|rollbackIn: Number
视频页-全屏|视频页,点击全屏|fullSizeVideo|video|视频ID|videoId: ObjectId
视频页-分享|视频页,点击右上角分享按钮|shareVideo|site|视频ID|videoId: ObjectId|用户分享平台|sharePlatform: String, enum: ['qq', 'qzone'..]
视频页-交互|视频页,用户完成交互题|answerVideoInteraction|video|视频ID|videoId: ObjectId|交互题ID|interactionId: ObjectId|交互点弹出时刻|startTime: ISODate|用户答案|answer: String
视频页-拖动|视频页,用户拖动进度条|dragVideo|video|视频ID|videoId: ObjectId|拖动方向|dragDirection: String, enum: ['backward', 'forward']|拖动时视频时间戳|fromTimeStamp: Number|拖动至视频时间戳|toTimeStamp: Number
视频页-开始巩固|视频页,巩固页面开始|startEmpower|video|视频ID|videoId: ObjectId
视频页-巩固|视频页,回答巩固题目|submitEmpower|video|视频ID|videoId: ObjectId|巩固题ID|problemId: ObjectId|用户选择|choice: String|正误|correctness: Boolean|交互题开始时间|startEmpower: ISODate
视频页-完成|视频页,完成视频|finishVideo|video|视频ID|videoId: ObjectId
视频页-退出|视频页,中途退出视频|quitVideo|video|视频ID|videoId: ObjectId|退出时的视频时间戳|quitTimeStamp: Number
学习模块-中断学习|视频完成页,退出学习模块|stopLearning|course|所在知识点ID|topicId: ObjectId|最后完成视频ID|videoId: ObjectId
学习模块-完成学习模块|用户完成学习模块|completeLearning|course|所在知识点ID|topicId: ObjectId
# -*- coding: UTF-8 -*-
import csv
# input format
# eventName|eventDesc|eventKey|eventCategory|{evnetValueName|eventValueValue}
# will overwrite ./output.md
origin_csv = 'outerloop.csv'
def generate_md(event_detail):
result = []
result.append('**' + event_detail['eventName'] + '**\n\n---\n\n')
result.append(event_detail['eventDesc'] + '\n\n')
result.append('* ```eventKey: ' + event_detail['eventKey'] + '```\n')
result.append('* ```category: ' + event_detail['eventCat'] + '```\n')
if len(event_detail['eventValue']) > 1:
result.append('* 必传字段:\n')
for i in range(len(event_detail['eventValue'])):
if i % 2 == 0:
result.append(' - ' + event_detail['eventValue'][i] + ' ')
result.append(' ```' + event_detail['eventValue'][i+1] + '```\n')
result.append('\n')
return ''.join(result)
g = open('output.md', 'w+')
with open(origin_csv, 'r') as csv_file:
tables = csv.reader(csv_file, delimiter='|')
for row in tables:
temp_dict = {
"eventName": row[0],
"eventDesc": row[1],
"eventKey": row[2],
"eventCat": row[3],
"eventValue": row[4:]
}
temp_text = generate_md(temp_dict)
g.write(temp_text)
print 'done'
g.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment