人类可读的类似表格的结构(Python 2.7.1;仅限标准库)



我有一个名为IBM Maximo Asset Management 7.6.1.2的COTS系统,我可以在其中编写Python脚本。

该系统有许多不幸的局限性:

  • Python版本是2.7.1(古代)。从技术上讲,它是Jython,而不是真正的Python
  • 我无法导入Python库;我只能访问标准Python库的一个子集
  • 我无法在服务器上存储文件(即CSV或文本文件)
  • 在这种情况下,我无法在数据库中创建自定义表

我想在Python库脚本中存储一些类似表的数据。

Table name: DIVISION_SETTINGS
DIVISION    FLOW_CONTROL_REQ    ACTUAL_COSTS_REQ    SETTING3    SETTING4   SETTING5
FLEET       1                   1                   0           1          A
ROADS       0                   1                   0           2          B
PARKS       0                   1                   1           3          C
DIV4        1                   0                   0           4          D
DIV5        0                   0                   0           5          E
DIV6        0                   1                   1           6          F
DIV7        0                   1                   0           7          G

我会编写一个Python函数,让我访问脚本中的数据,类似于访问数据库表中的数据。


我浏览了Python文档,发现了列表、集合等机制,但在我未经训练的眼中,人们似乎很难读取这些机制中的数据。

理想情况下,我会使用Python机制,让我以人类可读的格式编写数据/文本,这样it人员就可以很容易地进入脚本并在需要时更新值。如果数据易于阅读,并且采用柱状格式,那么我认为这将有助于我们在进行更改时避免错误。


问题:

有没有一种方法可以在Python 2.7.1中存储人类可读的数据(不添加任何额外的库、使用文件或使用数据库表)?

(我知道这是一个很高的要求,但我认为这可能值得一问,以防碰巧有合适的选择。)

似乎是一组非常奇怪的需求。。。

可以用一个多行字符串启动.py文件,脚本可以解析这个字符串并将其转换为一些有用的结构。

python模块中的第一个字符串是__doc__,因此脚本可以执行以下操作:

"""
data    in  whatever    format  you     want
"""
############################################# 
lines = __doc__.replace('t',' ').split('n')
lines = filter(None, lines)
table = []
for line in lines:
table.append(list(filter(None, line.split(' '))))
#at this point, table is a list of lists of word tokens (for each row)

这只是将文本转换为数据结构的一个示例,您必须决定什么结构对您的数据最有意义。

相关内容

  • 没有找到相关文章

最新更新