将数据从电子表格转移到txt文件,使用模板语言

2024-10-03 21:25:05 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的组织内,我们正在使用两套不同的软件,每套软件都为整个国家的整个能源系统(供暖、电力、工业、交通等)建模。这些工具在大学里被用来调查“如果我们安装了那么多的风力涡轮机,而人们少开车会发生什么”。你知道吗

  • 工具1:LEAP,善于确定长期目标,例如从2020年到2040年,提前逐步转向电动汽车。你知道吗
  • 工具2:EnergyPLAN,善于给出一个具体年份的完整的、逐小时的数据。你知道吗

我们已经把数据放进去了。使用LEAP应用程序,我们可以选择任何一年,例如2020年,并将该年的所有数据导出到xlsx文件中。然后我们要获取这些数据并为EnergyPLAN创建一个输入文件,它基本上是一个txt文件,格式非常容易理解。你知道吗

我对如何解决这个问题有兴趣。你知道吗

EnergyPLAN的输入文件格式

input_dh_ann_gr2=
11.735
input_dh_ann_gr3=
42.244
input_solar_ann_gr1=
0.023

也就是说,第1行(以及其他奇数行)包含变量名和等号。第2行(以及任何偶数行)包含上述变量的值。你知道吗

[variable_name]=
[value]

Excel公式格式:

excel中的公式都以等号开头,后跟一些表达式。数据字段由列字母和行号引用。例如A11。当Excel文件中有多个表(您在底部看到的那些小选项卡)时,您会显式地引用该字段,例如名为“能量平衡”的字段

='Energy Balance 2'!B14

我的解决方案

我想写/定义/使用一个模板语言来定义txt文件。也许它可以如下所示:

input_dh_ann_gr2=
{{ ='Energy Balance 2'!B14 }}

有时表达式比只从输入文件中获取一个字段更复杂。你知道吗

input_dh_ann_gr2=
{{ ='Energy Balance 2'!B14 + 'Energy Balance 2'!C14 * 1000 }}

在我看来,实施有两个部分:

  1. 制作一个可以解析文本文件并从每个占位符中提取文本的系统。例如,找出{{ some expression }}的每一次出现。

  2. 生成/查找接受xlsx文件和Excel表达式(例如='Energy Balance 2'!B14 + 'Energy Balance 2'!C14 * 1000)的Python函数,然后返回该表达式的值。我希望有一个Python库可以做到这一点。

你觉得我的主意怎么样。可行吗?这是一个好/差的解决方案吗?感谢您的所有意见|:)


Tags: 文件工具数据input软件表达式系统excel