繁体   English   中英

将字典键与现有的CSV文件匹配

[英]Match dictionary keys to existing csv file

我对这个问题有点迷茫。 这是我所做的。

第一:

我创建了一个字典,将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。我不能使用熊猫,我必须保留文件A的字典以备后用。 如果熊猫是实现这一目标的唯一途径,那可以,但是请解释为什么? 另外,如果你们对自己学习python有任何提示,请分享! <3

非常感谢您抽出宝贵的时间查看此内容!

除了语法错误之外,您的实现也是错误的。 row[2]是一个ID,因此您应询问A_ID相应的条目。 这样的事情可能会起作用

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM