Python's csv.DictReader doesn't maintain order (since it's a dictionary), so the resulting JSON is out of order. Given that CSV files often have columns in a particular order (often with the most important information listed first), we should maintain that order. This Stack Overflow answer suggests how to accomplish that.