【发布时间】:2019-05-02 17:38:19
【问题描述】:
我有两个文本文件,我想从中创建一个新文件。
一个文件的数据如下所示:mf-bom.xyrs
J25 5193.94 -3669.45 90.0 1 1 0.0 0.0 DF40C-100DS-0.4V 1 DF40C-100DS-0.4V
J24 4778.15 -3592.17 270.0 1 1 0.0 0.0 DF40C-100DS-0.4V 1 DF40C-100DS-0.4V
TP47 5232.28 -3688.98 0.0 2 1 0.0 0.0 DO NOT POPULATE 1 DNP
TP19 4905.98 -3583.0 0.0 2 1 0.0 0.0 DO NOT POPULATE 1 DNP
TP15 5206.3 -3796.85 0.0 2 1 0.0 0.0 DO NOT POPULATE 1 DNP
另一个有如下数据:single-bom.bom
114.119, 114.119, "R12"
114.633, 114.633, "R25"
117.028, 117.028, "C20"
135.495219, 135.495219, "TP34"
137.56, 137.56, "J24"
147.56, 137.56, "J25"
我想查看single-bom.bom 中的最后一项并从中获取值...在本例中,它是 R12。然后,我想查看mf-bom.xyrs 每一行中的第一个条目,看看是否有匹配项(“R12”)。如果有,请将整行从 mf-bom.xyrs 复制并附加到另一个文件中。
我已经尝试通过列表(例如)将它们都带入 python
with open('mf-bom.xyrs') as f:
mf_bom = f.read().split("\t")
但这产生了一个很长的一维列表,并且没有保留行(我的意思是换行符)。
我尝试过的所有其他东西都太愚蠢了,无法在这里发布......我觉得我在这里撞到了我的头,错过了如果你正确使用它,python 是多么容易。
【问题讨论】:
-
考虑使用对您的应用程序更有用的东西;列表非常通用,并没有为您提供良好的搜索功能。 dict 或 PANDAS 数据框可能会有所帮助。将一个文件读入该结构。一次读另一行,寻找结构中的关键。当您找到匹配项时,将新格式化的行转储到您的输出文件中。
标签: python list parsing text io