First we need to separate the concepts of storage and data exchange .
For storage, it is most reasonable to use a database, if only because we have the SQL language and we can create flexible queries using it.
But for data exchange (uploads, reports, alarm messages, etc.), the CSV format fits just fine. In addition to CSV, there is also a tab-delimited text and several less common formats.
It must be said that all of them appeared in the era "before XML" (and even more so "before JSON"), but they proved themselves superbly in all sorts of integration solutions and data exchange between heterogeneous systems. In short, these formats are like Windows XP - they look old, and people love and use it.
In the given case, the client is likely to store data in a relational database management system, and for you it simply unloads the prices. This is a common practice.
Most modern DBMS contain tools (tools) for data import / export operations of their plain-text formats. Some of them are intuitive and easy to use, others (for example, the SQL Server Import and Export Wizard and traditionally the entire Microsoft product line) require dancing with tambourines and some effort.
Well, any high-level PL has a complete set of tools to write your own converters and parsers for CSV / Tab-delimited files. The benefit of classes and add-ins on the web is full.