Advertisement
LexManos

MCP Mapings Merger No Arg

Feb 10th, 2012
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import sys
  2. import csv
  3. import logging
  4. import os
  5. import shutil
  6. from optparse import OptionParser
  7.  
  8. def main():
  9.     merge('fields-new.csv', 'fields.csv', ['searge', 'name', 'notch', 'sig', 'notchsig', 'classname', 'classnotch', 'package', 'side'])
  10.     merge('methods-new.csv', 'methods.csv', ['searge', 'name', 'notch', 'sig', 'notchsig', 'classname', 'classnotch', 'package', 'side'])
  11.    
  12. def merge(newFile, oldFile, sig):
  13.         shutil.move(oldFile, '%s.back'%oldFile)
  14.         csv.register_dialect('csvstyle', delimiter=',', quoting=csv.QUOTE_ALL)
  15.         tCsv = csv.DictReader(open(newFile, 'rb'))
  16.         newCsv = []
  17.         for row in tCsv:
  18.             newCsv.append(row)
  19.            
  20.         tCsv = csv.DictReader(open('%s.back'%oldFile, 'rb'))
  21.         oldCsv = []
  22.         for row in tCsv:
  23.             oldCsv.append(row)
  24.                
  25.         for row1 in newCsv:
  26.             for row2 in oldCsv:
  27.                 if (row2['searge'] == row1['searge'] and row2['side'] == row1['side']):
  28.                     row2['name'] = row1['name']
  29.                    
  30.         with open(oldFile, 'wb') as f:
  31.             writer = csv.DictWriter(f, sig, dialect='csvstyle')
  32.             writer.writerow(dict(zip(writer.fieldnames, writer.fieldnames)))
  33.             writer.writerows(oldCsv)
  34.            
  35.         #os.remove('%s.back'%oldFile)
  36.                
  37. if __name__ == '__main__':
  38.     main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement