如何在Python中进行等效?

时间:2014-12-30 00:56:31

标签: python csv

对我来说很难,我有一个2列的csv

4,8
5,64
6,12
7,54
8,2

......以及超过50个条目

和第二个包含一列的CSV(第一个csv中的第二列条目)。

我尝试从我的第一个csv中找到(并写入)相应的条目:

54,7
8,4
12,6
8,4
64,5
54,7
...

2 个答案:

答案 0 :(得分:0)

我不知道您在哪里获得要编写的CSV文件的A列,但我们假设这些值按顺序以某种方式列在列表中{{1 }}。然后:

As

答案 1 :(得分:0)

好的......如果你有两个csv文件而第二个有一列B值:

with open('test.csv') as f:
    line_values = [line.strip().split(',') for line in f.readlines()]
transposed_values = dict([(v.strip(), k) for k, v in line_values])
with open('test2.csv') as fi:
    with open('out.csv', 'w') as fo:
        for line in fi.readlines():
            B = line.strip()
            try:
                print >>fo, '{}, {}'.format(B, transposed_values[B])
            except KeyError:
                print >>fo, '{}, ?'.format(B)

输入文件test.csv

4, 8
5, 64
6, 12
7, 54
8, 2

输入文件test2.csv

54
8
12
8
64
54

输出文件out.csv

54, 7
8, 4
12, 6
8, 4
64, 5
54, 7