Mercurial > hg > sqlex
diff sqlex/model.py @ 9:834b920ae345 default tip
allow output of headers in csv
author | Jeff Hammel <k0scist@gmail.com> |
---|---|
date | Sat, 01 Apr 2017 15:11:34 -0700 |
parents | 22fbe50d92e8 |
children |
line wrap: on
line diff
--- a/sqlex/model.py Sat Apr 01 13:01:57 2017 -0700 +++ b/sqlex/model.py Sat Apr 01 15:11:34 2017 -0700 @@ -67,7 +67,7 @@ for row in data]) - def table2csv(self, table, fp): + def table2csv(self, table, fp, header=False): """ export `table` to `fp` file object in CSV format """ @@ -80,6 +80,13 @@ sql = 'select * from {table}'.format(table=table) rows = self(sql) + if header: + # export header as first row, if specified + _header = self.columns(table).keys() + if _header: + _header[0] = '#{}'.format(_header[0]) + rows.insert(0, _header) + # decode unicde because the CSV module won't # http://stackoverflow.com/questions/22733642/how-to-write-a-unicode-csv-in-python-2-7 rows = [[unicode(s).encode("utf-8") for s in row]