Advertisement
Guest User

Untitled

a guest
May 22nd, 2015
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. """
  2. Python script to generate SolidWorks BOM lists into a database-usable parent
  3. child relationship.
  4.  
  5. CSV data of the first column:
  6.  
  7. "<parent>.<child>.<subchild>.<subsubchild>"
  8.  
  9. Usage:
  10.  
  11. python sw-struct.py input.csv output.csv
  12.  
  13. """
  14.  
  15. import sys
  16. import csv
  17.  
  18. with open(sys.argv[1], 'r') as csvfile:
  19. data = {}
  20. tree = {}
  21. for row in csv.reader(csvfile, delimiter=',', quotechar='"'):
  22. _id = row[0].strip()
  23. _parent = row[0].split('.')
  24. _parent = '.'.join(_parent[0:len(_parent)-1]).strip()
  25. _parent = _parent if _parent else 'ROOT'
  26. tree.setdefault(_parent, []).append(_id)
  27. data.setdefault(_parent, row)
  28. data.setdefault(_id, row)
  29.  
  30. out = csv.writer(open(sys.argv[2], 'w'), delimiter=',', quoting=csv.QUOTE_ALL)
  31. for _parent in tree:
  32. for _id in tree[_parent]:
  33. out.writerow([data[_parent][1]] + data[_id])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement