将数据从表传输到对象(Python)

时间:2015-02-22 13:07:17

标签: python dynamic

我是编程新手,非常感谢有关我的任务的任何建议。在您阅读以下内容之前,请接受我的批评,因为它太愚蠢了。

上下文

我每周都收到几个.txt文件。每个文件都是这样的:

№;Date;PatientID;Checkpoint;Parameter1;Parameter2;Parameter3/n

1;01.02.2014;0001;1;25.3;24.2;40.0/n

2;01.02.2014;0002;1;22.1;19.1;40.7/n

3;02.02.2014;0003;1;20.1;19.3;44.2/n

4;04.02.2014;0001;2;22.8;16.1;39.3/n

...

第一行包含列名,每隔一行代表一次观察。事实上,我得到的每个.txt文件中有超过200列和大约3000行。此外,每周的专栏名称可能与一周前的名称略有不同,每周的观察数量也会增加。

我的工作是选择满足某些参数要求的观测值,并为某些参数构建箱线图。

我认为我应该做什么

我想在Python 2.7.6中创建一个由四部分组成的程序。

  1. 将每个观察变成对象的代码,以便我可以访问这样的属性:

    obs1.checkpoint = 1
    
    obs4.patientid = "0001"
    
  2. 我文学希望列名成为属性名。 完成此操作后,为每个唯一的PatientID创建一个对象会很不错。并且我希望表示与该患者相关的观察的对象是患者对象的属性。 我的目标是让检查从检查点1到检查点2的患者参数是否增加变得容易。

    1. 将选择我需要的观察的代码。
    2. 将构建箱图的代码。
    3. 将上述三个部分合并为一个程序的代码。
    4. 到目前为止我发现了

      我找到了一些动态添加属性到实例的工作代码: http://znasibov.info/blog/html/2010/03/10/python-classes-dynamic-properties.html

      我担心我还没有完全理解它是如何工作的,但我认为在我的情况下将列名转换为属性名可能是有用的。

      我还发现动态创建变量是不赞成的: http://nedbatchelder.com/blog/201112/keep_data_out_of_your_variable_names.html

      问题

      将表格中的每一行转换为对象是个好主意吗?

      如果是这样,我该怎么做呢?

      如何创建与表格中的行一样多的对象,以及如何命名这些对象?

      将列名称转换为类属性的最佳方法是什么?

0 个答案:

没有答案