Skip to content

Instantly share code, notes, and snippets.

@jpotts18
Last active March 17, 2017 17:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jpotts18/3f1ba6e9bbafd24935e4a1f33ddc28a9 to your computer and use it in GitHub Desktop.
Save jpotts18/3f1ba6e9bbafd24935e4a1f33ddc28a9 to your computer and use it in GitHub Desktop.
SQL Renamer
import sys
from optparse import OptionParser
parser = OptionParser()
parser.add_option('-p', '--prefix', type='str', dest='prefix', help='Allows you to prefix the output name')
(options, args) = parser.parse_args()
def convert_field(x, prefix=None):
""""
Automates renaming fields for easier readability
>>> convert_field('e.customer_name,')
', customer_name as "Customer Name",
>>> convert_field('e.customer,')
', customer as "Customer"'
>>> convert_field('e.address,' prefix='sender')
', customer as "Sender Address"'
"""
field_name = x
word_list = None
if '.' in field_name:
field_name = field_name.split('.')[1]
if ',' in field_name:
field_name = field_name.replace(',', '')
if '_' in field_name:
word_list = map(lambda word: word.capitalize(), field_name.split('_'))
else:
word_list = [field_name.capitalize()]
if prefix:
return ', ' + field_name + ' as ' + '"{} {}"'.format(prefix.capitalize(), ' '.join(word_list))
else:
return ', ' + field_name + ' as ' + '"{}"'.format(' '.join(word_list))
for line in sys.stdin.read().splitlines():
if options.prefix:
print(convert_field(line.strip(), prefix=options.prefix))
else:
print(convert_field(line.strip()))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment