我有点迷失这个问题。继承人我做了什么。
第一:
我创建了一个字典,将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
非常感谢你花时间看这个!
答案 0 :(得分:0)
除语法错误外,您的实现是错误的。 row[2]
是一个ID,因此您应该询问A_ID
相应的条目。像这样的东西可以工作
a_row = A_ID.get(row[2], None)
if a_row:
print(row + a_row)