私は自分の快適ゾーンから出て、経験がほとんどないかまったくないPythonを使用するように勧められましたが、今は行き詰まっています。2つのCSVファイル(fileA.csvとfileB.csv)を比較し、不足しているユーザー行をfileB.csvからfileA.csvに追加しようとしています。比較できるフィールドは、ユーザーの名前と名前だけです(この場合、各ファイルのrow[0]とrow[2]です)。
私の理解では、現在開いているファイルに情報を追加することはできないため、(可能であれば)3番目のファイルを作成せずに提案を受け入れることができます。以下は正しい方向に進んでいますが、データがたくさんあるので、ループが必要になります。助けてください。
import csv
reader1 = csv.reader(open('fileA', 'rb'), delimiter=',', quotechar='|')
row1 = reader1.next()
reader2 = csv.reader(open('fileB', 'rb'), delimiter=',', quotechar='|')
row2 = reader2.next()
##For Loop...
if (row1[0] == row2[0]) and (row1[2] == row2[2]):
## Compare next
else:
## Append entire row to fileA.csv
FileA.csvの例:
John,Thomas,Doe,some,other,stuff
Jane, ,Smith,some,other,stuff
FileB.csvの例:
John, ,Doe,other,personal,data
Jane,Elizabeth,Smith,other,personal,data
Robin,T,Williams,other,personal,data
FileBからFileAに追加する必要がある唯一の行は、FileAが次のようになるようにRobinの完全な行です。
DesiredResult_FileA:
John,Thomas,Doe,some,other,stuff
Jane, ,Smith,some,other,stuff
Robin,T,Williams,other,personal,data