How can I use asynchronous code in synchronous Python code?
for your question...
try to use django with gevent
1) uses 'csv' lib and 'csv.reader' and loop on the on the returned element from 'csv.reader' call
2) uses Mysqldb or pymsql as the django orm's dialect lib to access your database asynchronously
I'm developing django 2.2 (with mySql database) application with some code to import data from csv sources.
Code is synchronous:

load next csv line and do some pre-processing (normalize/sanitize
input data)
create or update django model from input data (and perform database
read/write)

There are obvious bottlenecks here:

disk i/o on reading line from csv file (few files with more than 4M
records)
network i/o on database communication (tcp/ip socket)

The process could be optimized:
Read input data, then pass it to asynchronous code for database operation - fire and forget. Instead of waiting for DB to finish, load next csv line.
What is your recommendations on optimization strategy in this case?