I would agree with the others; CSV files work well enough as a data transfer format, for importing into a database, but I wouldn't actually build the database on them.
If you want to skip having a separate DBMS managing your database, I'd go with SQLite as well.
Be aware that having multiple processes writing to a SQLite concurrent database is explicitly contraindicated (see the last paragraph of Appropriate uses for SQLite). Multiple concurrent reads however is fine, so potentially-complex lookups are supported.
On the other hand, exactly the same non-concurrent writes situation arises with CSV files.
On the gripping hand, handling concurrency is one of the functions of a DBMS.