Encontrar el número de fila para la fila del encabezado en un archivo CSV / Pandas Dataframe

Estoy tratando de obtener un índice o número de fila para la fila que contiene los encabezados en mi archivo CSV. El problema es que la fila del encabezado puede moverse hacia arriba y hacia abajo dependiendo de la salida del informe de nuestro sistema (no tengo control para cambiar esto)

código:

ht = pd.read_csv(file.csv) test = ht.get_loc('Code') #Code being header im using to locate the header row csv1 = read_csv(file.csv, header=test) df1 = df1.append(csv1) #Appending as have many files 

Si tuviera que imprimir la prueba, esperaría un número alrededor de 4 o 5, y eso es lo que estoy introduciendo en la segunda lectura “read_csv”

El error que recibo es que está esperando 1 columna de encabezado, pero tengo 26 columnas. Solo trato de usar la primera cadena de encabezado para obtener el número de fila

Gracias 🙂

Editar:

Formato CSV

 This file contains the data around the volume of items blablalbla the deadlines for delivery of items a - z is 5 days the deadlines for delivery of items aa through zz are 3 days the deadlines for delivery of items aaa through zzz are 1 days code,type,arrived_date,est_del_date a/wrwgwr12/001,kids,12-dec-18,17-dec-18 aa/gjghgj35/030,pet,15-dec-18,18-dec-18 

Como verá las filas de “Las fechas límite” son las mismas, esto puede ser 3 o 5 según los ID de código, por lo que la fila de encabezado puede cambiar hacia arriba o hacia abajo.

Tampoco escribí los 26 encabezados de columna, no estoy seguro de que eso importe.

Se busca formato DF

 index | code | type | arrived_date | est_del_date 1 | a/wrwgwr12/001 | kids | 12-dec-18 | 17-dec-18 2 | aa/gjghgj35/030 | Pet | 15-dec-18 | 18-dec-18 

Espero que esto tenga sentido ..

Gracias,

Puede usar el módulo csv para encontrar la primera fila que contiene un delimitador, luego alimente el índice de esta fila como el parámetro de pd.read_csv a pd.read_csv :

 from io import StringIO import csv import pandas as pd x = """This file contains the data around the volume of items blablalbla the deadlines for delivery of items a - z is 5 days the deadlines for delivery of items aa through zz are 3 days the deadlines for delivery of items aaa through zzz are 1 days code,type,arrived_date,est_del_date a/wrwgwr12/001,kids,12-dec-18,17-dec-18 aa/gjghgj35/030,pet,15-dec-18,18-dec-18""" # replace StringIO(x) with open('file.csv', 'r') with StringIO(x) as fin: reader = csv.reader(fin) idx = next(idx for idx, row in enumerate(reader) if len(row) > 1) # 4 # replace StringIO(x) with 'file.csv' df = pd.read_csv(StringIO(x), skiprows=idx) print(df) code type arrived_date est_del_date 0 a/wrwgwr12/001 kids 12-dec-18 17-dec-18 1 aa/gjghgj35/030 pet 15-dec-18 18-dec-18