可视化血压数据的python脚本。
bpdiag的Python项目详细描述
bp diag分析数据文件中的血液预保统计信息,生成一些 统计并打印到stderr。您可以导出数据(和 收集的统计数据)到json(转储到stdout)。你还可以生成 svg或png图表。
要查看可能的命令行选项列表,请运行:
bpdiag.py --help
示例
假设我们有一个名为bp.csv的文件,其中包含以下值:
136/83/65, 132/82/70 144/82/86, 137/81/75, -, 143/80/68 131/82/60, 144/82/64, 136/79/67, 140/80/62 136/83/68, 138/80/99, -, 133/74/65 136/79/67, 131/76/64, 135/81/72, 136/75/61 127/79/72
bp diag首先尝试使用 使用--delimiter选项给定的字符串(默认值为,)。每个条目 然后用字符串将found分成sys、dia和pulse值 使用--seperator选项给定(默认值:/)。
因此,如果我们对这样的文件运行bp diag,我们得到 以下结果:
Read 17 value(s) from 1 file(s)... Statistics (min, max, avg): :: SYS...: 127, 144, 136 :: DIA...: 74, 83, 79 :: PULSE.: 60, 99, 69
转储json
如您所见,解析错误被忽略。我们可以用^{tt7}转储json$ 选择。只有json转储被写到stdout,其他输出被写到 stderr,因此我们可以将转储重定向到一个文件(使用--compactto 防止在,和:之后出现空格:
bpdiag.py --json --compact bp.csv > bp.json
然后文件bp.json将包含一个带有json数据的长行。你 还可以使用--json- stats选项将从数据收集的统计信息转储到json。如果您想使用--sort和--indent 2选项 更可读的输出。
生成图表
要生成svg图表,需要安装PyGal(见下文)。其他 除此之外,只需使用--chart选项来拥有一个名为^{tt16}的图表$ 在当前目录中生成。还有更多的选择 看看--help输出。
您可以使用PNG作为输出格式,而不是交互式SVG图表。只是 与--chart一起使用--png选项。你还需要几个 但是依赖关系,请看下面。
每条线的测量数
默认情况下,所有值一个接一个地收集,解析错误为 忽略。但是可以使用--entries选项设置 每行测量。
这意味着每行只使用那么多的值(即使有 如果一行包含小于entries的值,则剩余的 其中一个用None值填充。同时还值conatin-(或任何 其他不解析为三个整数元组的字符组合) 不被忽略,但也存储为None值。
如果您的每个 即使有时测量值是 跳过/丢失。:
bpdiag.py --json --compact --entries 4 bp.csv
将生成以下json:
[[136,83,65],[132,82,70],null,null,[144,82,86],[137,81,75],null,[143,80,68],[131,82,60],[144,82,64],[136,79,67],[140,80,62],[136,83,68],[138,80,99],null,[133,74,65],[136,79,67],[131,76,64],[135,81,72],[136,75,61],[127,79,72],null,null,null]
安装
您可以使用pip或从源安装bp diag。
从源安装
您可以从github中获取最新的sourceball并将其解压缩,或者只克隆 此存储库:git clone git://github.com/brutus/bpdiag。如果你 获取源,切换到目录并使用setup.py:
python setup.py install
依赖关系
PyGal用于生成图表。如果你想生成图表, 你需要安装它。使用pip很简单:
pip install --user pygal
如果要导出到png文件,则需要CairoSVG、tinycss和 cssselect也是。您可以这样安装:
pip install --user CairoSVG tinycss cssselect