将字典键与现有csv文件匹配

时间:2017-08-30 22:11:48

标签: python csv dictionary

我有点迷失这个问题。继承人我做了什么。

第一:

我创建了一个字典,将ID设置为键,将其他信息设置为csv文件(文件A)中的值。

import csv
A_ID = {}

'''This makes the File A dictionary'''
with open("file_A.csv", 'r') as f:
    reader = csv.reader(f)
    A_ID = {rows[0]:rows[1:] for rows in reader}

输出:

'35': ['1', 'Florida Ave', 'Tampa']

现在我有另一个文件(文件B),我需要查找其ID并将其与我刚创建的字典中的文件A的ID相匹配。然后将字典的值作为新列添加到文件B中。 这是我到目前为止所做的:

'''Create the loop that matches dictionary keys to ID in file B'''
with open("file_B", 'r') as output:
    reader = csv.reader(output)
    for row in reader:
        if row[2] = A_ID:
            print(row[2])

错误返回:

File ".\mb_active.py", line 15
if row[3] = active_id:
          ^
SyntaxError: invalid syntax

预期结果:

State, ID, Car,  Address,  Street,      City
FL,    35, Chevy,  1,    Florida Ave,  Tampa

地址,街道,城市是A_ID字典中的值。其他一切都来自文件B.我不能使用pandas,我必须保留文件A的字典供以后使用。如果熊猫是实现这一目标的唯一方法,那可以解释原因吗?另外,如果你们有关于如何自己学习python的任何提示请分享! < 3

非常感谢你花时间看这个!

1 个答案:

答案 0 :(得分:0)

除语法错误外,您的实现是错误的。 row[2]是一个ID,因此您应该询问A_ID相应的条目。像这样的东西可以工作

a_row = A_ID.get(row[2], None)
if a_row:
    print(row + a_row)