0

私が辞書を持っているとしましょう:

dict = {'R150': 'PN000123', 'R331': 'PN000873', 'C774': 'PN000064', 'L7896': 'PN000447', 'R0640': 'PN000878', 'R454': 'PN000333'}.

このサンプル csv ファイルに入力する必要があります: https://www.dropbox.com/s/c95mlitjrvyppef/sheet.csv

行の例

HEADER,ID,ReferenceID,Value,Location X-Coordinate,Location Y-Coordinate,ROOM,ALT_SYMBOLS,Voltage,Thermal_Rating,Tolerance,PartNumber,MPN,Description,Part_Type,PCB Footprint,SPLIT_INST,SWAP_INFO,GROUP,Comments,Wattage,Tol,Population Notes,Gender,ICA_MFR_NAME,ICA_PARTNUM,Order#,CLASS,INSTALLED,TN,RATING,OriginalSymbolOrigin,Rated_Current,Manufacturer 2,Status,Need To Mirror/Rotate Pin Display Properties,TOLERANCE,LEVEL
,,R150,1,,,,,<null>,<null>,<null>,,,to be linked,Resistor,TODO,<null>,<null>,<null>,<null>,1/16W,?,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>
,,R4737,1,,,,,<null>,<null>,<null>,,,to be linked,Resistor,TODO,<null>,<null>,<null>,<null>,1/16W,?,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>
,,R4738,1,,,,,<null>,<null>,<null>,,,to be linked,Resistor,TODO,<null>,<null>,<null>,<null>,1/16W,?,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>,<null>

具体的には、作成した辞書のキーに基づいて PartNumber 列に入力する必要があります。したがって、列 ReferenceID を反復処理し、その値を dict のキーと比較する必要があります。一致する場合は、対応する PartNumber セルにその値を入力する必要があります (dict 内)。

これがすべて混乱している場合は申し訳ありませんが、私はPythonが初めてで、csvモジュールに問題があります。

4

1 に答える 1

0

開始するには、オブジェクトを使用し、一度に 1 行ずつファイルをループし、行のセットに基づいてcsv.DictReader何かが存在する場所をその値に設定し、それ以外の場合は空の文字列に設定します。your_dictReferenceIDPartNumber

これをhttp://docs.python.org/2/library/stdtypes.html#typesmappingおよびhttp://docs.python.org/2/library/csv.htmlのドキュメントと組み合わせて使用​​する場合は、データを書き出して、何が起こっているのかをよりよく理解することができます。

import csv

your_dict = {'R150': 'PN000123', 'R331': 'PN000873', 'C774': 'PN000064', 'L7896': 'PN000447', 'R0640': 'PN000878', 'R454': 'PN000333'}
with open('your_csv_file.csv') as fin:
    csvin = csv.DictReader(fin)
    for row in csvin:
        row['PartNumber'] = your_dict.get(row['ReferenceID'], '')
        print row
于 2012-12-07T00:33:15.813 に答える