Aug-18-2023, 08:56 AM
(This post was last modified: Aug-18-2023, 08:56 AM by deanhystad.)
That depends on what you want. You can read a CSV file without a header, but your column index will be numbers, 0, 1, 2... just as you get for the row index. To read a CSV file that has no header, again we return to the excellent Pandas documentation.
https://pandas.pydata.org/docs/reference...d_csv.html
This time it is not quite as excellent as before.
Our choices are:
int : Use this line in the file as the column header.
list of int: Use these lines in the file as the column header (for multi-index headers).
None: Not described very well what happens, but sounds like it will use "names" provided. What does it do if we don't provide names?
default: Infer column header names from the file.
So if you have a CSV file with no header, and you want Pandas to generate column numbers instead of inferring names from the file, set "header = None".
https://pandas.pydata.org/docs/reference...d_csv.html
This time it is not quite as excellent as before.
Quote:header: int, list of int, None, default ‘infer’
Row number(s) to use as the column names, and the start of the data. Default behavior is to infer the column names: if no names are passed the behavior is identical to header=0 and column names are inferred from the first line of the file, if column names are passed explicitly then the behavior is identical to header=None. Explicitly pass header=0 to be able to replace existing names. The header can be a list of integers that specify row locations for a multi-index on the columns e.g. [0,1,3]. Intervening rows that are not specified will be skipped (e.g. 2 in this example is skipped). Note that this parameter ignores commented lines and empty lines if skip_blank_lines=True, so header=0 denotes the first line of data rather than the first line of the file.
Our choices are:
int : Use this line in the file as the column header.
list of int: Use these lines in the file as the column header (for multi-index headers).
None: Not described very well what happens, but sounds like it will use "names" provided. What does it do if we don't provide names?
default: Infer column header names from the file.
So if you have a CSV file with no header, and you want Pandas to generate column numbers instead of inferring names from the file, set "header = None".
df = pd.read_csv(filename, header=None)