Python — Панды, объединяющие части нескольких файлов

#python #pandas

#python #панды

Вопрос:

У вас есть список из 200 или около того файлов в папке. Каждый из них имеет одинаковое количество столбцов, но могут быть некоторые различия в именовании. Например, у меня может быть глобальный идентификатор или глобальный идентификатор или глобальный идентификатор. Есть ли способ контролировать регистр в именах столбцов pandas, чтобы не имело значения, чему он равен? В настоящее время он пройдет через первые 15 или около того файлов из 200 и выдаст ошибку, потому что не находит глобальный идентификатор.

Имейте в виду, что я новичок и все еще учусь.

 import pandas as pd
import glob

with open('test99.txt' , 'a') as out:
    list_of_files = glob.glob('M:AD HOC DocsClientBlinded*')
    for file_name in list_of_files:
        df = pd.read_table(file_name, low_memory=False)
        df['Client'] = file_name.split("_")[2].strip()
        Final = df[['Client','ClientID','Global ID','Internal ID','campaign type','engagement type', 'file_name']]
        Final.to_csv(out,index=False)
  

Комментарии:

1. Вы пробовали перебирать и переименовывать столбцы?

Ответ №1:

Используйте header=None, names=[list of column names you want to use] в качестве дополнительного аргумента read_table , чтобы игнорировать строку заголовка и получать согласованные имена.

Комментарии:

1. Хорошо, я могу попробовать это. Что произойдет, если, например, у меня есть 1 файл с дополнительным столбцом по ошибке?

2. Передайте тот же список в аргумент usecols