¿Cómo verificar si un CSV tiene un encabezado usando Python?

Tengo un archivo CSV y quiero comprobar si la primera fila tiene solo cadenas (es decir, un encabezado). Estoy tratando de evitar el uso de extras como pandas, etc. Estoy pensando que usaré una sentencia if como si row [0] es una impresión de cadena, esto es un CSV pero realmente no sé cómo hacerlo: -¿Hay alguna sugerencia?

Python tiene un módulo CSV incorporado que podría ayudar. P.ej

import csv with open('example.csv', 'rb') as csvfile: sniffer = csv.Sniffer() has_header = sniffer.has_header(csvfile.read(2048)) csvfile.seek(0) # ... 

Haría algo como esto:

 is_header = not any(cell.isdigit() for cell in csv_table[0]) 

Dada una tabla CSV csv_table , toma la fila superior (cero). Iterar a través de las celdas y verificar si contienen cadenas de dígitos puros. Si es así, no es un encabezado. Niega eso con un not delante de toda la expresión.

Resultados:

 In [1]: not any(cell.isdigit() for cell in ['2','1']) Out[1]: False In [2]: not any(cell.isdigit() for cell in ['2','gravy']) Out[2]: False In [3]: not any(cell.isdigit() for cell in ['gravy','gravy']) Out[3]: True