我有2个文件,其中包含一些像这样的数据!!你知道吗
文件1包含:
/begin MENT AE0DAQ0O41 ""
ECU_ADDRESS 0x8111DSCC
ECU_ADDRESS_EXTENSION 0x0
/begin IF_DATA CAN_EXT
120
LINK_MAP "AE0DAQ0O41" 0x8111DSCC 0x0 0 0x2 1 0x2F 0x1
DISPLAY 0 0 655
/end IF_DATA
SYMBOL_LINK "AE0DAQ0O41" 0
/end MENT
文件2包含:
name value line keyword
.data 80008114+000005 AE0DAQ0O43
.data 80008116+000005 AE0DAQ0O41
.data 80008118+000005 EA0DAQ0O45
.data 8000811a+000005 AE0DAF0O89
现在我们需要做的是获取一个关键字AE0DAQ0O41
,然后在下一个文件中进行搜索。你知道吗
它在关键字前面有一些值,所以我们需要取该值80008116
,并需要在中替换它
ECU_ADDRESS 0x8111DSCC
和LINK_MAP AE0DAQ0O41
0x8111DSCC 0x0 0 0x2 1 0x2F 0x1
对于(0x8111DSCC
它需要是0x80008116
)并将其保存到FILE 1
。你知道吗
文件1的保存方式如下:
/begin MENT AE0DAQ0O41 ""
ECU_ADDRESS 0x80008116
ECU_ADDRESS_EXTENSION 0x0
/begin IF_DATA CAN_EXT
120
LINK_MAP "AE0DAQ0O41" 0x80008116 0x0 0 0x2 1 0x2F 0x1
DISPLAY 0 0 655
/end IF_DATA
SYMBOL_LINK "AE0DAQ0O41" 0
/end MENT
我们怎么做???因为它有多条像这样的线???? 提前谢谢!!!!!!!你知道吗
如果将
File 2
视为一个制表符分隔的值文件,则可以逐行读取File 1
,然后将file1
中的关键字与file2
中的每一行进行比较。你知道吗当你得到一个匹配,然后写另一个新的输入文件
快速而肮脏的解决方案: (假设输入都是文本文件…)
代码通过挖掘第二个文件来创建字典。 第一个文件逐行处理,并在所需的修改之后写入输出文件。你知道吗
这当然不是最好的办法。 如果您知道文件的确切格式,您可以优化代码以运行得更快。你知道吗
相关问题 更多 >
编程相关推荐