Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 22nd, 2012  |  syntax: None  |  size: 1.23 KB  |  hits: 13  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. #!/usr/bin/env python
  2.  
  3. def tabilize(column, fileorlist):
  4.         ''' send each column through this function with each row as an item in a list'''
  5.         valid_fileorlist = ('f', 'l')
  6.         if column == None or fileorlist == None: exit()
  7.         if fileorlist not in valid_fileorlist: exit()
  8.         else:
  9.                 if fileorlist == 'f':
  10.                         fdata = open(column, 'r')
  11.                         data = fdata.readlines()
  12.                         fdata.close()
  13.                 if fileorlist == 'l':
  14.                         if 'list' in str(type(column)):
  15.                                 data = column
  16.                         else: exit()
  17.                        
  18.         longest, indexNum = 0, 0
  19.         for item in data:
  20.                 if len(item) > longest:
  21.                         longest = len(item)
  22.                         longestLoc = indexNum
  23.                 indexNum += 1
  24.  
  25.         magicNum = 8
  26.         tabs = longest / magicNum
  27.         for item in data:
  28.                 item = item.replace('\r', '').replace('\n', '')
  29.                 try: del insert_tabs
  30.                 except: pass
  31.                 if len(item) / magicNum == longest / magicNum:
  32.                         print '%s\t-Next Row Here' % (item)
  33.                 else:
  34.                         if [(len(item) / magicNum) + (tabs + 1)] > [(tabs + 1)]:
  35.                                 insert_tabs = '\t'*(((len(item) / magicNum) + (tabs + 1)) - ((len(item) / magicNum) * 2))
  36.                                 print "%s%s-Next Row Here" % (item, insert_tabs)
  37.                         else:
  38.                                 insert_tabs = '\t'*((len(item) / magicNum) + (tabs + 1))
  39.                                 print "%s%s-Next Row Here" % (item, insert_tabs)
  40.        
  41. longest = tabilize('c:\cars.txt', 'f')