
数据导出选项
数据导出功能允许玩家检索已完成的习惯和每日任务以及个人用户数据。目前,它只能在网页端使用。它位于数据导出页面(用户图标 > 设定 > 导出数据)。
习惯历史提供了一个CSV文件,其中包含上周的习惯和每日任务情况以及前几个月的历史采样数据。每行的日期是协调世界时(UTC)。这些数据的目的是帮助你检查随着时间推移你进步的情况,因此待办事项是不包括在内的(因为时间上的进步与待办事项无关)。
玩家数据将所有可用的用户数据(包括用户名、电子邮件地址、成就、习惯、每日任务、待办事项、奖励)导出为XML或JSON格式。
导出数据中的大部分信息也可以在数据展示工具(直达链接)中以更易于阅读的格式显示。
数据存储限制[]
为了提高网站和移动应用程序的性能,并降低数据库存储成本,Habitica没有保存所有任务的所有历史数据,而是对较旧的数据求了平均值,只有平均值包含在导出的数据中。距离现在的时间越久,就会有越多的数据被合并成一个单一的平均值。此外,已完成的待办事项在被完成后的某一段时间之后会自动删除。
数据的压缩和删除已完成的待办事项在任务历史数据压缩中有详细的描述。
由于较早之前的任务历史记录数是严格受限的,希望完整保存任务历史记录的玩家应该定期导出他们的数据。
如何打开导出的数据[]
CSV文件最好使用电子表格程序打开,如Microsoft Excel或LibreOffice Calc。该程序可能会自动使文件看起来就像一个电子表格;如果没有,就在程序的文档中搜索“导入”或“转换”CSV文件,以逗号为分隔符“分隔”数据,或者是“文本分列”。
JSON文件可以在JSON查看器中查看,如在线的Code Beautify提供的JSON查看器或在文本编辑器中查看(参见下面)。
XML文件通常可以在浏览器中查看,但是Habitica的XML文件使用了非标准格式的元素名称,这使得大多数或所有浏览器无法正确显示它。它可以在XML查看器中查看,比如在线的Code Beautify提供的XML查看器,或者在文本编辑器中查看。
如果使用文本编辑器查看JSON或XML文件,那么它应该是一个有针对源代码进行优化的编辑器,比如针对Windows环境的Notepad++、针对MacOS的TextMate、针对Unix/Linux的vi或emacs。使用等宽字体将使文件更容易阅读。不推荐使用像Microsoft word这样的高级文字处理程序。
如何理解数据[]
如果你对数据还有这里没有进行解答的疑问,请使用下面的“发表评论”按钮来询问他们。你可能会在一天之内收到答复。
- 习惯或每日任务的Value(价值)是用来计算奖励和伤害的数值。任务价值为你提供关于此的更多信息。
- Date(日期)有时是整数格式,表示自1970年1月1日以来的毫秒数(例如,1388602586109是2014-01-02 04:56:26外加109毫秒)。这是一种用于编程和数据存储的常见日期格式。有转换器可用,如www.epochconverter.com。注意,另一种常见的日期格式是1970年以来的 秒 (不是毫秒);如果你使用的转换器需要输入的时间是秒而不是毫秒,那么应将日期除以1000再进行转换(例如,输入1388602586而不是1388602586109)。
- Task ID(任务ID)或 id 是唯一地标识任务的字母和数字组成的随机字符串(例如,2a4f24dd-29bd-463f-a899-e6740e478686)。
更多信息[]
从JSON中提取习惯、任务和待办事项[]
如果您使用的是一台装有grep命令行程序的计算机,您可以使用下面的示例代码来解析JSON导出数据的内容,将你的习惯、任务和待办事项解析为一个可读列表。具体来说,该命令将执行以下操作:
- 将所有以“text”开头的行从JSON文件中抽取出来(这里称该文件为“userdata.json”)
- 将所有的“text”转换为“-”
- 将所有的清单条目从“-”转换为“*”并缩进它们
- 将重新格式化后的文本输入到一个新的JSON文件中(这里称之为“usernewdata.json”)
grep "text" userdata.json | sed s/\"text\"\:/*/ | sed "s/^......\*/ -/" >> usernewdata.json
注意: 在上面的示例代码中有6个连续的句点和6个连续的空格。
进一步的讨论和内容可以在如何查看导出的数据?(.CSV、.XML和.JSON文件)中找到