2017-07-18 91 views
-2

说我们有两个csv文件。每个csv文件都包含两列。假设第一列显示name,第二列显示agePython - 按相同顺序排列CSV

我希望第二个文件中的名称顺序与第一个文件相同,前提是所有名称都是唯一的。

所以,说比如我们有具有第一文件中的以下值:

Name  Age 
Adam  34 
Paul  23 
Ahmad 22 
Yasmine 43 

而且,说第二个文件看上去如下:

Name  Age 
Adam  34 
Yasmine 43 
Ahmad 22 
Paul  23 

我们怎样才能重新排序的元素第二个文件具有与第一个文件相同的顺序?

谢谢。

+2

你尝试了什么,什么不起作用? – DyZ

+0

“左连接”会工作吗? –

回答

2

使用for循环将每个文件的每一行追加到嵌套列表结构中。

因此[[Adam,34],[Paul,23] ....]。

因为有了列表,你可以按顺序排序,而字典没有顺序。

接下来,您需要一个嵌套for循环。外部循环遍历每个要复制的列表元素(第一个文件)。现在,内部循环将迭代搜索第二个列表(第二个文件)以查找是否存在相同的元素。如果存在,则附加到新列表中,并且您将具有相同的顺序。

如果您有很多条目,尤其是嵌套for循环(二次运行时),这将会非常低效。但只是一个让你思考的想法。

+0

感谢您的回答。我试过一次使用字典,另一次使用列表,但得到相同的答案和错误的顺序。你有脚本会返回正确的值吗? – Simplicity