我对编程很新 - 我有一个关于读取和操作excel文件的python问题。我一直在尝试使用xlrd和openpyxl模块,但仍然无法完全按照我的要求进行操作。
我有两个excel文件:一个包含人员列表,他们的ID号以及他们在调查中的分数。在文件#1中,每个人只有一行。第二个文件包含人员ID号,日期和其他一些调查分数的列表。在文件#2中,每个人可以在不同日期的调查管理中拥有多行分数。
我的目标是从文件#2中获取每个人的ID号,找到文件#1中具有相同ID号的任何行,并从文件#1返回每人的第一行和最后一行。然后我想添加这些第一个&最后一行到文件#2中每个人的行的末尾(所以只是让每个人的行更长)。
我已经制作了两个假数据的测试文件,然后是我最喜欢的文件,以便人们可以更好地理解我想要做的...
文件#1:
ID first_name last_name Score1 Score2 Score3
12-34-56-7 joe schmoe 2 7 3
98-76-54-3 jane doe 3 5 8
99-11-99-1 sally jones 5 6 9
文件#2:
ID DATE Score4 Score5 Score6
12-34-56-7 12/28/2000 8 9 4
12-34-56-7 12/29/2000 5 1 6
12-34-56-7 12/30/2000 2 5 5
12-34-56-7 12/31/2000 1 4 7
12-34-56-7 1/1/2001 4 6 3
12-34-56-7 1/2/2001 7 3 1
98-76-54-3 4/18/1999 9 2 2
98-76-54-3 9/6/2014 6 7 8
98-76-54-3 10/5/2020 3 8 9
99-11-99-1 6/7/2012 2 5 5
99-11-99-1 6/8/2012 5 2 4
抱歉,我知道这可能令人困惑......这就是我希望它最终看起来像什么。防爆。找到文件#1中与文件#2 (12-34-56-7)
中第一个人具有相同ID号的任何行,并从文件#1中获取他的第一行和最后一行数据,然后将其添加到行的末尾在文件#2中。在文件#2中为每个人冲洗并重复。
ID first_name last_name Score1 Score2 Score3 ID DATE Score4 Score5 Score6 ID DATE Score4 Score5 Score6
12-34-56-7 joe schmoe 2 7 3 12-34-56-7 12/28/2000 8 9 4 12-34-56-7 1/2/2001 7 3 1
98-76-54-3 jane doe 3 5 8 98-76-54-3 4/18/1999 9 2 2 98-76-54-3 9/6/2014 6 7 8
99-11-99-1 sally jones 5 6 9 99-11-99-1 10/5/2020 3 8 9 99-11-99-1 6/8/2012 5 2 4
关于如何写这个的任何建议?再一次,我真的很擅长编写脚本,所以任何和所有帮助都会非常感激:)。
答案 0 :(得分:0)
如果您正在寻找语法。这个教程将帮助你。 Read this
此问题this Stack-overflow也会对您有所帮助。