Skip to content

Instantly share code, notes, and snippets.

@kauppim
Created September 5, 2012 14:17
Show Gist options
  • Save kauppim/3637315 to your computer and use it in GitHub Desktop.
Save kauppim/3637315 to your computer and use it in GitHub Desktop.
A small and ugly program for organizing collections of .csv data, for Python v. 2.6.x
import sys
import csv
if len(sys.argv) >= 4:
try:
file1 = open(sys.argv[1], "r")
keyw = sys.argv[2]
file2 = open(sys.argv[3], "w")
datat = csv.DictReader(file1)
items = []
keywords = []
for row in datat:
items.append(row)
if row[keyw] not in keywords:
keywords.append(row[keyw])
keywords.sort()
n = 0
for name in datat.fieldnames:
if n == 0:
file2.write(name)
n += 1
else:
file2.write("," + name)
file2.write("\n")
outputs = csv.DictWriter(file2, datat.fieldnames)
n = 0
while n < len(keywords):
for item in items:
if item[keyw] == keywords[n]:
outputs.writerow(item)
n += 1
file1.close()
file2.close()
print '...Done.'
except IOError:
print 'Something went wrong with files! Exiting.'
else:
print 'Not enough arguments were given.'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment