首页 > 解决方案 > 从 pandas 数据框创建字典

问题描述

我有一个这种格式的excel文件。

site | matrix | sampling type | sampling frequency | measurands
S1   | water  | spot check    | 28 days            | nitrate
S1   | water  | spot check    | 28 days            | pH
S1   | water  | spot check    | 28 days            | conductivity
S1   | mud    | spot check    | 56 days            | phosphate
S1   | water  | mixed sample  | 14 days            | nitrate
S1   | water  | mixed sample  | 14 days            | pH
...

我的目标是从具有以下形式的 pandas 数据框创建一个 python 字典(以及后来的 yaml 文件)。

site: S1
matrices:
  - water
    sampling types:
      - spot check
        sampling frequency: 28
          measurands: [nitrate, pH, conductivity]
      - mixed sample
        sampling frequency: 14
          measurands: [nitrate, pH]
  - mud
    sampling types:
      - spot check
        sampling frequency: 56
          measurands: [phosphate]

我希望我的 yaml 是正确的。基本思想是您可以根据以下条件在站点上绘制多个样本:

在实验室中,正在分析被测量的列表。

可以看出,上表没有明确的“主键”。站点、矩阵、采样类型和采样频率的组合应该是唯一的,只有被测变量不同。

所以我想我不能真正使用pandas.to_dict()当有这样一个键时真正起作用的方便功能。

使用 python 并将所描述的 excel 表作为唯一的限制,任何想法都将不胜感激。(我无法对允许使用的工具和输入格式做任何事情。)

提前致谢

布尼

标签: python-3.xexcelpandas

解决方案


推荐阅读