简介
最近这段时间刷怪刷累了,于是在尝试进行对市场数据的整理,在闲暇时间做一些事情。
最开始的时候,我把esi、sso、seat之类的东西全部搞混了,导致了在深更半夜向seat需求调取数据权限的眼中灾难性spy行为(哭泣.jpg)。为了避免更多人弄混变成spy(x),这些东西之间的区别必须弄清楚。
仅在确定无疑需求seat权限时再开口。SeAT权限对联盟十分重要,随意请求不仅会令安排任务的人感到麻烦,还会令自己有相当的spy嫌疑。
esi、sso和seat
第零步 清晰目的
数据是有形之物,但要表达出某种通俗的概念、传达出某种清晰的观感、派上某种具体的用场,还需要从中寻找无形的线索。不仅要做,还要明白为什么要做。
- 这些数据会给谁(我/公司/联盟/…)带来好处?
- 自己心目中的对象能够如何使用这些数据?
- 能够带来什么改变?带来多大的好处?
我们在例子中使用的是市场数据。举例而言,市场数据十分单调而无聊、所能提供的信息也并不如同pap一般直白。我们所拥有的只有交易量、最高/最低价格、均价……而这一切显然没有办法直接读出多少有用的信息。
为了表达愿景和完成目的,一些工具是必不可少的。
第一步 获取数据
首先打开ESI页面,将会看到一个界面、里面列举出了具体的项目。可以使用https://www.fuzzwork.co.uk/api/typeid.php这个API来获取物品id(上述的type_id
)。
至于如何具体获得数据略过不讲,进行的方式可以是多样化的。所获得的数据结果例子为:
[{“average”:3.0,“date”:“2019-01-08”,“highest”:3.0,“lowest”:3.0,“order_count”:1,“volume”:91496112},{“average”:3.02,“date”:“2019-01-20”,“highest”:3.02,“lowest”:3.02,“order_count”:1,“volume”:1183543},(…略)
第二步 导入数据
这里将数据导入excel。它是十分有用的生产工具,无论是对于专业用途、或者是我们这种…呃,娱乐用途,都能派上很大的用场。它能够节省很多时间。
自网站导入数据,例如导入https://esi.evetech.net/latest/markets/10000040/history/?datasource=tranquility&type_id=631。
获取到的数据结构将是record
,在数据>高级编辑器
中随意写一个M语言脚本即可将其转换成列表。
例如对于物品,可以这么写:
简单脚本
let
源 = Json.Document(Web.Contents(“https://esi.evetech.net/latest/markets/10000040/history/?datasource=tranquility&type_id=631”)),
转换为表 = Table.FromList(源, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
out = Table.ExpandRecordColumn(转换为表, “Column1”, {“date”, “highest”, “lowest”, “average”, “order_count”, “volume”})
in
out
需要注意的是,并不是对于所有类型的数据、这一代码都能够生效。你需要为具体情况(和自己的需求)来决定。
成果: