【发布时间】:2015-01-16 15:42:36
【问题描述】:
我有两个文本文件,其数据类似于
文件_1:
data1 data_1 1
data2 data_2 2
data3 data_2 2
data2 data_4 1
data3 data_3 1 and so on....
等等
文件_2:
data1
data2
data1
data3
data2
我想得到一个输出为
data1:
> data1 data_1 1
> data1 data_3 2
data2:
> data2 data_2 2
> data2 data_4 1
data3:
> data3 data_3 1
等等……
我从当前代码中得到的信息:
data1:
> data1 data_1 1
data2:
> data2 data_2 2
data3:
> data3 data_2 2
> data2 data_4 1
> data3 data_3 1
代码:
first_occurance = {}
with open("folder_1/file_1", "r") as file_1:
with open("folder_1/file_2", "r") as file_2:
for line_1,line_2 in zip(file_1, file_2):
only_command = line_1.split()[0]
if only_command in line_2:
if only_command not in first_occurance:
print ("\n " + only_command + " :\n")
print (" > " + line_1.strip())
else:
print (" > " + line_1.strip())
first_occurance[only_command] = only_command
但这并没有按预期工作,因为数据没有根据标题格式化,例如data2 对应的行也显示在data3 中。对此问题的任何指导都会非常有帮助....
【问题讨论】:
-
你能描述一下发生了什么吗?
-
我编辑了这个问题。希望现在更清楚...
-
不完全,仍然。那么您希望
data3会发生什么?应该打印在 data2 块下面吗? -
您的问题不是从多个文件中读取 - 这是您进行迭代的方式,但目前还不清楚您试图从描述中获得什么样的结果。
-
@user3467349 我现在已经编辑了它...希望它更好地理解....
标签: python python-3.x text