Skip to content

Instantly share code, notes, and snippets.

@trenton3983
Created September 26, 2020 23:16
Show Gist options
  • Save trenton3983/e5a1e4e46058ad5de2c1ca7a74b28840 to your computer and use it in GitHub Desktop.
Save trenton3983/e5a1e4e46058ad5de2c1ca7a74b28840 to your computer and use it in GitHub Desktop.
read csv, format date, sort by date, add header, write to file, without pandas
with open('test.csv', mode='r+', newline='') as f:
data = list(csv.reader(f))
for i, v in enumerate(data):
v[0] = datetime.strptime(v[0], "%d-%b-%y").date().strftime('%Y-%m-%d')
data[i] = v
data = sorted(data, key=lambda row: datetime.strptime(row[0], '%Y-%m-%d'))
writer = csv.writer(f)
header = ['date', 1, 2, 3, 4, 5]
f.seek(0)
f.truncate()
writer.writerow(header)
writer.writerows(data)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment