csvファイルから作成した辞書があり、このdictを使用して、sheet2.csvという別のcsvファイルの特定の列の値を更新したいと思います。
Sheet2.csvには、ヘッダーが異なる多くの列があり、dictのキーと値のペアに基づいて列PartNumberを更新するだけで済みます。
私の質問は、dictのキーを使用してsheet2.csvを検索し、適切な値を持つPartNumber列のみを更新/書き込みするにはどうすればよいですか?
私はPythonを初めて使用するので、これがあまり混乱しないことを願っています。助けていただければ幸いです。
これは、dictを作成するために使用したコードです。
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の行がある場合、その行は変更されないままである必要があります。したがって、自分のdictにない行をスキップする必要があります。
サンプル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セルにその値を入力する必要があります。これがすべて混乱している場合は申し訳ありません。