What CSV actually is, and the four things your data will hit
A CSV file is a table written as text, and the rules are short: fields are separated by a delimiter, records by a line break, and a field may be wrapped in double quotes. Inside those quotes, a doubled quote means one quote, the delimiter is just a character, and a line break belongs to the field rather than ending the record. That last rule is why a note with two lines in it is one cell and not two rows, and why splitting on newlines first will mangle the file.
The delimiter is not always a comma. Much of Europe uses a semicolon, because the decimal separator there is a comma and `1,5;2,5` is unambiguous where `1,5,2,5` is not. Excel pastes tab-separated text into cells. So the separator is a setting here, with a detection option that looks for the character that appears the same number of times on every line - which is what makes a table a table.
The fourth thing is invisible: a byte order mark. Excel writes one at the front of a "CSV UTF-8" file, and it arrives as a character with no width, which becomes part of the first column name and makes that name impossible to find. This page removes it on the way in, which is one line of code that saves a surprising amount of confusion.