我有一个从 csv 文件创建的字典,并希望使用此字典来更新名为 sheet2.csv 的不同 csv 文件的特定列中的值。
Sheet2.csv 有许多具有不同标题的列,我只需要根据我的字典中的键值对更新列 PartNumber。
我的问题是如何使用 dict 中的键搜索 sheet2.csv 并仅更新/写入具有适当值的 PartNumber 列?
我是 python 新手,所以我希望这不会太令人困惑,并且感谢任何帮助!
这是我用来创建字典的代码:
import csv
a = open('sheet1.csv', 'rU')
csvReader = csv.DictReader(a)
dict = {}
for line in csvReader:
dict[line["ReferenceID"]] = line["PartNumber"]
print(dict)
dict = {'R150': 'PN000123', 'R331': 'PN000873', 'C774': 'PN000064', 'L7896': 'PN000447', 'R0640': 'PN000878', 'R454': 'PN000333'}
为了让事情变得更加混乱,我还需要确保 sheet2 中已经存在的行保持不变。例如,如果存在 ReferenceID 为 R1234 且 PartNumber 为 PN000000 的行,它应该保持不变。所以我需要跳过不在我的字典中的行。
链接到示例 CSV:
编辑:让我重新表述我的问题并提供一个更好的示例 csvfile。
假设我有一个 Dict = {'R150': 'PN000123', 'R331': 'PN000873', 'C774': 'PN000064', 'L7896': 'PN000447', 'R0640': 'PN000878', 'R454' ':'PN000333'}。
我需要填写这个 csv 文件:https ://www.dropbox.com/s/c95mlitjrvyppef/sheet.csv
具体来说,我需要使用我创建的 dict 的键填写 PartNumber 列。所以我需要遍历列 ReferenceID 并将该值与我在 dict 中的键进行比较。如果匹配,我需要用该值填写相应的 PartNumber 单元格......如果这一切都令人困惑,我很抱歉!