用快捷指令批量导入健康数据|少数派会员π+Prime

年初开始,我爸就时不时遇到手机莫名发烫重启或app突然闪退等问题,让我意识到他手上那部2018年初买的一加5T该退休了。一加简洁的「氢OS」是我之前一直坚持使用一加手机的重要原因,可时至今日,一加终于也向市场妥协,让我决定把我父母的手机也从Android转向iOS。

但我很快发现苹果的转移助手漏掉了一个很重要的数据:备忘录。

我爸最近这两年偶尔会有血压升高的情况,所以他之前会时不时地把自己测量的血压数据记录到手机的备忘录里,前前后后已经产生了近700条不是特别规范的纯文本血压和心率记录。如何把这些数据导入iPhone成了问题。

我首先大致在iOS健康app里摸索了一下,发现这个app并没有提供批量写入数据的功能,只提供了手动添加数据的功能。

简单尝试之后我就明确了方案:先把我爸手动记录的备忘录数据清洗整理成格式统一的文本,发到iPhone上;再用快捷指令功能挨个处理这些文本数据,提取其中的关键信息,写入健康app。

首先要解决的问题就是数据格式不统一。我爸用备忘录记录血压数据没有一个特别规整的格式,以下是几个例子:

20210313星期三11:00142/786420210314星期日晴20℃06:54165/89心率7020210316星期二小雨17℃07:15146/82心率6720210319星期五阴11℃07:25148/82心率6509:58161/79(1)73152/77(2)76可以看到,这些数据除了血压,有时还会记录天气,其中的气温有时在日期的同一行,有时在单独行;数据之间有时会用单个空格分隔,有时会用多个空格;有时一天会连续记录两条;有时会用中文标记「心率」……

这样的数据很难用被批量处理,所以我需要先把所有数据都「清洗」成统一的格式。

数据清洗的方法其实非常多也非常灵活,需要结合数据的特点和自己的能力范围来选择合适的工具和方法。这里,只简单介绍几种最基础的常见手段供大家打开思路。

注意到记录中的日期都是2021或2022开头,所以先选中第一行前面的「202」,然后可以选择如下方法之一:

这样就可以一次性选中文档中所有的「202」。

现在按一下右箭头键,就能在文档中所有2021或2022之后添加一个光标。按钮把光标一起移动到每个日期行中的日期数据后面,然后用Command+Shift+→组合键(将选中区域延伸到行尾),从而批量选中每个日期行中除日期以外的数据。

最后一下按删除键,日期数据就被「清洗」干净了。

接下来,我们用查找替换的功能删除数据中与心率无关的信息。

首先是一个简单的纯文本查找:要删掉所有的「心率」字样,直接用Command+F打开搜索替换面板,搜索「心率」并批量替换为空即可。

接下来删除气温数据。由于涉及变量,需要使用正则表达式。为此,点击搜索框最右侧的按钮,启用正则表达式匹配。

这里用到的正则表达式是:

[0-9]{2}℃\n它的意思是,连续两个数字,后接一个摄氏度符号℃,后接一个换行。

将其替换为空,就去掉了所有单成一行的气温数据。

再来删除用来标记多次记录的数字编号(1)、(2)等。用到的正则表达式是:([0-9]),同样替换为空。

最后去掉多余的空格。这里既可以用普通搜索,将两个空格替换为一个空格,多次操作直到不再有连续空格;也可以用正则表达式\s{2,},搜索两个或以上的连续空格,替换为一个空格。

经过上面一系列操作,数据就变成了下面这样,明显更加清爽:

2021031311:00142/78642021031406:54165/89702021031607:15146/82672021031907:25148/826509:58161/7973152/7776统一记录格式:使用JavaScript能不能再整洁一点呢?我想将格式统一成「YYYYMMDDHH:MM/高压/低压/心率」这样的格式。为此,一点点在编辑器中查找替换当然也可以,但要想一步到位,就得写一点简单的程序了。

以Chrome或Edge浏览器为例:随便打开一个新标签页,按F12键就打开开发者工具,然后这时切换到「控制台」选项卡。

现在,把我们刚刚处理了一半的数据赋给上面代码中的data变量,即粘贴到代码第一行的一对反引号``内部,然后将代码整体粘贴到控制台中:

按下回车键,就可以看到程序输出的结果了:

选中程序输出的数据,保存为文本文件,发送到iPhone上。

至于如何传输,方法很多:

这一节,我简要的介绍了多选、查找替换、正则表达式匹配、JavaScript脚本这几种数据清洗方法。其中正则表达式和JavaScript编程可能会有一些门槛,但这也不是必须的,你完全可以使用你自己熟悉的各种方法来清洗数据。比如,如果你熟练掌握Excel,上面那些数据处理步骤用Excel也能完成。

清洗和传输数据后,终于到了激动人心的快捷指令编排环节。

2022051505:55/148/79/582022051505:58/136/76/582022051513:16/137/72/68根据这个数据结构,快捷指令的逻辑就是:

其中第三步的处理过程又分为这几个步骤:

逻辑梳理清楚了就开干啦,首先把最外层的框架编排出来。遵循循序渐进的原则,比较复杂的第三步暂时不做,用一个「显示通知」占位,顺便测试效果。

这时复制三条数据测试一下:

可以看到,执行快捷指令之后,会连续弹出三条通知把刚刚复制的数据内容显示出来,说明快捷指令的外层循环框架已经完成了。

接下来就是编排第三步里面的逻辑。将之前用来占位的通知步骤替换为红框中的部分:

经过测试,弹出的通知能按照给定格式显示数据,说明我们的数据拆分逻辑是正确可行的。

接下来就是把这些数据写入健康app了。将上一步中的显示通知步骤替换为下图中的步骤:

这里,我们提取之前步骤获得的各项信息,填写到「记录健康样本」步骤的各个栏位中。

好了,一切就绪,让我们先用几条测试数据来看看效果:

可以看到,三条数据在执行快捷指令后立刻就被写入了健康app。在健康app中查看时,显示的图标也说明这些数据是由快捷指令写入的。

数据和脚本都准备好了,就可以正式开始导入数据了。

首先把电脑上准备好的文本数据文件发到手机上,并保存到「文件」app中。长按这个文件,点选「快速查看」,然后长按并拖动选区,直到将整个文件的所有内容都选中后,点击复制,这样文件内容就都保存到剪贴板中了。

现在来到快捷指令app中,点击运行我们刚刚编写好的快捷指令。如果你的数据量比较多,可能需要多等一会;快捷指令的右上角此时会显示一个进度圆环:

比如我一次导入了将近700条数据,在这个状态大概等了差不多1分钟,等到右上角按钮变成对勾的时候,数据就导入完成啦。

THE END
1.数据清洗的概念常见问题及实践方法数据已成为企业和组织决策的重要依据,然而,原始数据往往存在各种质量问题,如缺失值、错误值、重复数据等,这些问题严重影响了数据分析的准确性和可靠性。数据清洗作为数据预处理的关键环节,能够有效地解决这些问题,为后续的数据分析和挖掘打下坚实的基础。 今天,让我们一起了解数据清洗的概念、常见问题及实践方法。 https://blog.csdn.net/weixin_44958787/article/details/141850204
2.pythonpython葡萄酒国家分布情况数据分析pyecharts可视化二、设计思路 好的,结合上述代码,我们可以从数据读取、数据清洗和数据处理三个方面详细讲解代码的设计思路和实现过程。 1. 数据读取 数据读取是数据分析的第一步,代码中通过两种方式读取 CSV 文件的数据:使用csv模块和pandas库。 使用csv模块读取数据 import csvfilename = 'winemag-data.csv'with open(filename, https://developer.aliyun.com/article/1581254
3.实施数据分析项目有哪些流程?从数据准备到解决方案全面解析!在数据清洗层,我们对原始数据进行初步处理,移除异常值(例如,观看时长超过24小时或地理位置数据异常的记录)。这一步骤对于确保后续分析的准确性至关重要。 数据汇总层 数据汇总层根据分析需求,将用户行为按照特定主题进行聚合,形成轻量级的聚合指标表。例如,在直播应用项目中,我们可以将用户的登录、订阅、观看、弹幕和送https://www.fanruan.com/bw/bd-sjfxxmss
4.基于Python技术的电商个性化推荐系统的灵感来源python商品推荐数据清洗 数据可视化及分析 结论与建议 分析思路 其实就今天的数据来讲,我们主要做的是探索性分析;首先梳理已有的字段,有标题(提取出品类)、价格、销量、店铺名、发货地。下面来做一下详细的维度拆分以及可视化图形选择: 品类: 品类销量的 TOP 10 有哪些?(表格或者横向条形图) https://blog.51cto.com/u_14152/11729805
5.小浣熊家族:自媒体新手的快速成长指南AI程序员海军分析思路 数据收集 收集各大自媒体平台的用户数据、内容数据、活动数据等 数据来源包括平台后台统计、第三方数据分析工具、问卷调查等 数据清洗 对收集到的数据进行清洗,去除重复和无效数据 确保数据的准确性和一致性 数据分析 使用数据分析工具(如 Python、R、Excel 等)进行数据处理和分析 https://xie.infoq.cn/article/66e2c96a2abe28aa81fd4c129
6.帆软FineBI数据编辑,帮你省下80%浪费在数据处理的时间!②历史步骤可见,让分析思路可回溯,处理过程变透明 用Excel做分析存在一个明显的弊端就是操作步骤不可见,不知道中间做了哪些步骤,如果想查看计算逻辑,只有两个方法:要么CTRL+Z回退,要么点进函数一个一个查看。 FineBI的数据编辑,可以针对历史操作步骤进行追溯、灵活调整历史操作步骤,解决历史操作不可见的问题。对于个人https://www.360doc.cn/mip/1132147943.html
7.Prompt用得好,增长工作下班早1.数据清洗 你是一位资深数据分析师,具备深厚的数据分析技能与行业经验。你擅长应用各种数据分析工具和技术,对数据进行挖掘、整合、分析,现在我有一份销售数据,是jason格式的,帮我把数据处理一下,直接输出表格。 2.找数据分析思路 你是一位XX行业的市场营销分析专家,请根据这份数据集合,给出4个不同方向的分析主题https://www.niaogebiji.com/article-645093-1.html
8.www.ptzfcg.gov.cn/upload/document/20180724/0279275ee54644f69.2投标人应在投标截止时间前按照福建省政府采购网上公开信息系统设定的操作流程将电子投标文件上传至福建省政府采购网上公开信息系统,同时将投标人的CA证书连同密封的纸质投标文件送达招标文件第一章第10条载明的地点,否则投标将被拒绝。 10、开标时间及地点:详见招标公告或更正公告(若有),若不一致,以更正公告(若有)http://www.ptzfcg.gov.cn/upload/document/20180724/0279275ee54644f6adb79e806e1b3734.html
9.图像数据清洗方法.pptx数智创新 变革未来图像数据清洗方法 图像数据清洗简介 数据清洗必要性 常见图像数据问题 数据清洗基本流程 图像预处理技术 图像噪声处理方法 图像标注修正技术 总结与展望Contents Page目录页 图像数据清洗简介图像数据清洗方法 图像数据清洗简介图像数据清洗简介1.图像数据清洗的定义和重要性:图像数据清洗是指通过一系列技术https://max.book118.com/html/2023/1110/7116145134006004.shtm
10.请问机场出租车相关的数据在哪找得到?因此,针对异常数据的清洗是在数据的正式处理分析之前必须做的重要步骤。缺少这一步骤,在后续的处理中很可能产生错误的分析结果。在出租车GPS数据中也不可避免地存在一定的数据异常。这里我们以数据中存在的异常载客状态为例,介绍数据异常的情况以及数据清洗的思路。https://www.yoojia.com/ask/17-11950137789821619087.html