Creating a dataset from a single column/row / comma separated string

We have effectively an entire dataset stored in a single row/column in SQL, the dataset is broken into commas

Every 9 commas should make a new row in a dataset… is there an easy way to script this create a dataset from a large comma separated string

Thanks

# Generate sample data.
csv = ",".join(str(i) for i in range(1,82))
# Split csv data into list items.
csvList = csv.split(',')
# Make header.
headers = ["Column %i" %i for i in range(1,10)]
print headers
# Make rows.
rows = []
for x in range(0,len(csvList), 9):
	# Make a row of the next nine values.
	oneRow = [csvList[x+i] for i in range(9)]
	print oneRow
	# Add the row to the list of rows for dataset.
	rows.append(oneRow)
# Generate dataset.
data = system.dataset.toDataSet(headers, rows)
print data

Output:

>>> 
['Column 1', 'Column 2', 'Column 3', 'Column 4', 'Column 5', 'Column 6', 'Column 7', 'Column 8', 'Column 9']
['1', '2', '3', '4', '5', '6', '7', '8', '9']
['10', '11', '12', '13', '14', '15', '16', '17', '18']
['19', '20', '21', '22', '23', '24', '25', '26', '27']
['28', '29', '30', '31', '32', '33', '34', '35', '36']
['37', '38', '39', '40', '41', '42', '43', '44', '45']
['46', '47', '48', '49', '50', '51', '52', '53', '54']
['55', '56', '57', '58', '59', '60', '61', '62', '63']
['64', '65', '66', '67', '68', '69', '70', '71', '72']
['73', '74', '75', '76', '77', '78', '79', '80', '81']
Dataset [9R ⅹ 9C]
>>> 
2 Likes

Worked like a charm, thank you!

1 Like