import csv
max_lengths = {
'field1': 255,
'field2': 1024,
# add fields and their max sizes
}
def truncate_row(row):
for field, max_len in max_lengths.items():
if field in row and len(row[field]) > max_len:
row[field] = row[field][:max_len]
return row
with open('data.csv', newline='', encoding='utf-8') as csvfile:
reader = csv.DictReader(csvfile)
rows = []
for row in reader:
truncated_row = truncate_row(row)
rows.append(truncated_row)
# Insert truncated_row into SQL DB safely here