Found a better way to iterate over the rows (although I still feel like I'm reaptingrepeating myself!):
for idx, row in enumerate(active_sheet.rows):
for i in active_sheet.rows[idx]:
values.append(i.value)
And instead of converting the tuple to a list:
rows = [list(t) for t in zip(*[iter(values)]*column_count)]