我在用python做作业时遇到了一个问题。 我是python新手,所以我是一个完全的初学者。在
问:如何合并下面的两个文件?在
s555555,7
s333333,10
s666666,9
s111111,10
s999999,9
以及
^{pr2}$合并后,它应该看起来像:
s111111,10,,,,
s222222,,,,,
s333333,10,,,,
s444444,,,,,
s555555,7,,,,
s666666,9,,,,
s777777,,,,,
s999999,9,,,,
感谢您的阅读和任何帮助将不胜感激!!!在
使用第一个元素作为主键生成dict,然后合并行?在
像这样:
以下是解决问题的一种方法可以遵循的步骤。在这里,我将使用}作为各种文件名。在
FileA
、FileB
和{解决这个问题的一种方法是给文件中的每个位置(每个
,
)指定一个引用它的数字,然后读取FileA
中的行,然后您知道在第一个,
之后,您需要从FileB
放第一行来生成您将写出到Result
的结果。在打开} ,因为完成后它会自动关闭文件。或者可以使用普通的
FileA
。理想情况下,您应该使用^{open()
调用,但请确保在完成后关闭该文件。循环遍历
FileA
的每一行,并将其添加到list
中。(提示:您应该使用split()
)。为什么要单子?因为这是我们的计划,所以按索引引用项目更容易。对
FileB
重复步骤1和2,但将其存储在不同的列表变量中。现在下一部分是循环遍历来自
FileA
的行列表,将它们与来自FileB
的列表相匹配,以创建一个新的行,您将写入Result
文件。您可以通过多种方式进行此操作,但一个简单的方法是:final_lines = []
)for
循环中遍历包含FileA
行的列表。在您还应该记住,并不是
FileA
中的每一行都在FileB
中都有对应的行。对于FileA
列表中的每一个“位”,在FileB
的列表中找到对应的行,然后使用index()
获得下一项。如果你很热心,你会发现第一项总是0
,下一项总是1
,那么为什么不简单地硬编码这些值呢?如果你看一下赋值;有多个,
,因此在某个时刻,你可能有第四或第五个“列”需要添加。老师们喜欢检查这些东西。在append()
按正确的顺序将项目添加到final_lines
。在现在您已经准备好了行列表,最后一部分很简单:
with
或open
)final_lines
如果你有任何具体的问题-请问。在
与python无关,但在linux上:
结果:
^{pr2}$相关问题 更多 >
编程相关推荐