Search notes:

CSV

CSV is probably the most common import and export format for data of spreadsheets and databases.

Problems with CSV files

Although I like the flexibility, ubiquitousness and ease-of use of CSV files, I find they have the following problems
These limitations gave raise to the schema.ini specification of Microsoft. Such a schema.ini file can be used when reading a CSV file with OLE DB provider for Microsoft Access database engine in order to specify the characteristics of the CSV files.

Reasons to use semicolons rather than commas

Although the C in CSV stands for comma, there are good reasons to use semicolons to delimit fields one from another.
One reason is that there are many countries where a comma is already used as a decimal separator (See problems with CSV files).
Also, semicolons make more sense to be used as separators because they are less likely to occur in ordinary text than commas.

Working with CSV files in some environments

Oracle

Using the SQL function regexp_substr (Oracle) to transform CSV text to individual columns in a select statement.
SQLcl allows to create a resultset in CSV

Excel

Some Excel related examples include:

MS Access

A CSV file can be exported from Access under the menu External Data -> Export

Programming languages

Some function examples in various programming languages that allow to read/write CSV data:

See also

Tabular data
pspg is a command line utility to view CSV data (or generally tabular data). (TODO: Compare with usql).
In .NET, a CSV file might be parsed with the Microsoft.VisualBasic.FileIO.TextFieldParser class.
Data exchange formats for tabular data. An alternative to CSV files are Parquet files. These are files with a columnar format as well but can be accessed with better performance and additionally support typed and nested schemas.
CSV (as well as also for example JSON) are prone to data corruption.
xsv is command line program for indexing, slicing, analyzing, splitting and joining CSV files. Commands should be simple, fast and composable:
The @csv instruction of jq.
Papa Parse converts CSV to JSON, and vice versa.

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1745008940, '18.191.200.36', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/Data/exchange/formats/CSV/index(127): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78