2016-09-06 9 views
1

Я использую приведенный ниже код. Все мои CSV-файлы имеют единую структуру. Когда формируется dataframe, он содержит два столбца для даты в моем CSV.Слияние CSV Использование pandas dataframe

В результирующем кадре данных в течение нескольких строк значение даты находится в столбце первой даты, а для остальной части данных оно переходит к столбцу второй даты.

Любая идея, почему два столбца (столбцы даты) генерируются для одного столбца в исходных CSV-файлах.

all_data = pd.DataFrame() 
for f in glob.glob("/Users/tcssig/Desktop/Files/*.csv"): 
    df = pd.read_csv(f) 
    all_data = all_data.append(df,ignore_index=True) 

In [76]: all_data.columns 
Out[76]: Index(['0', '0.1', 'Channel_ID', 'Date', 'Date ', 'Duration (HH:MM)','Episode #', 'Image', 'Language', 'Master House ID', 'Parental Rating','Program Category', 'Program Title', 'StartTime_ET', 'StartTime_ET2','Synopsis'], 
dtype='object') 
+0

Возможно, в некоторых ваших файлах csv есть столбец «Дата» с пробелом. –

+0

Спасибо, это сработало. – Sarang

ответ

5

, потому что у вас есть место во втором столбце:

'Date', 'Date ' 
      ^

так что вам нужно нормализовать колонки перед добавлением

all_data = pd.DataFrame() 
for f in glob.glob("/Users/tcssig/Desktop/Files/*.csv"): 
    df = pd.read_csv(f) 
    df.columns = df.columns.str.strip() 
    all_data = all_data.append(df,ignore_index=True) 

здесь я использую str.strip, чтобы удалить ведущие и trailing whitespace

+0

Большое спасибо, я исправил это из некоторых своих файлов CSV, и это сработало. – Sarang

+0

Если мой ответ разрешил вашу проблему, тогда вы можете принять его, в левом верхнем углу моего ответа будет пустое галочко, спасибо – EdChum

+0

Еще раз спасибо :) – Sarang

Смежные вопросы