in knack/output.py [0:0]
def _dump_row(data, stream):
separator = ''
if isinstance(data, (dict, list)):
if isinstance(data, OrderedDict):
values = data.values()
elif isinstance(data, dict):
values = [value for _, value in sorted(data.items())]
else:
values = data
# Iterate through the items either sorted by key value (if dict) or in the order
# they were added (in the cases of an ordered dict) in order to make the output
# stable
for value in values:
stream.write(separator)
_TsvOutput._dump_obj(value, stream)
separator = '\t'
elif isinstance(data, list):
for value in data:
stream.write(separator)
_TsvOutput._dump_obj(value, stream)
separator = '\t'
elif isinstance(data, bool):
_TsvOutput._dump_obj(str(data).lower(), stream)
else:
_TsvOutput._dump_obj(data, stream)
stream.write('\n')