Я думаю, что прочитал все подобные посты и не нашел то, что мне нужно.
У меня есть несколько файлов .csv, которые в принципе похожи, но могут иметь несколько разные имена заголовков, столбцы расположены по-разному и т. Д.
Я вызываю их, используя pd.read_csv:
df = pd.read_csv('MyFile.csv', delimiter=';')
Вот часть примера заголовка CSV-файла:
Index(['1. Datum', '2. Zeit', '3. Tunnellaenge. m',
'4. Vermessung: Hor. Ablage der Maschine. mm',
'5. Vermessung: Vert. Ablage der Maschine. mm',
………...
'21. SR:Drehzahl. rpm', '22. SR:Erddruck Schild. bar',
'23. STZ:Gesamtkraft. kN', 'Unnamed: 23'],
dtype='object'
Я хочу, чтобы мой код просматривал заголовок и находил нужный мне столбец (на основе строк детали).
Например, мне всегда нужен столбец '3. Tunnellaenge. m ', имя обычно не меняется, поэтому я бы использовал:
df['length'] = df.filter(like='laenge')
Обычно это работает, но что если я захочу найти ключевые слова "laenge" и / o "length"?
Как и в случае с заголовком '4. Vermessung: Хор. Ablage der Maschine. мм», . Здесь я хочу, чтобы df.filter возвращал столбец, который включает 'Hor' И 'Maschine' . Как я мог это сделать? Я также попробовал функцию 'regex' , но у меня она не сработала. Не лучше ли использовать функцию str.contains () ?
Это очень важно, так как у меня много разных файлов CSV и я не хочу каждый раз корректировать код.
Спасибо.