I am trying to run this
final_df = pd.DataFrame() #empty dataframe
for csv_file in file_list:
df = pd.read_csv(csv_file)
csv_file_name = csv_file.split('\\')[7]
print('Processing File : {}'.format(csv_file_name))
df.columns = df.columns.str.replace(' ', '')
df['TIMESTAMP'] = pd.to_datetime(df['TIMESTAMP'])
df.set_index(['TIMESTAMP'], inplace=True)
if 'Unnamed:13' in df.columns:
df.drop(['Unnamed:13'], axis=1, inplace=True)
df_trim = df.apply(lambda x: x.str.strip() if x.dtype == 'object' else x)
new_df = df_trim[df_trim['SERIES'].isin(['EQ', 'BE', 'SM'])]
final_df = final_df.append(new_df)
final_df.sort_index(inplace=True) #to sort by dates
========================================
Getting error
IndexError Traceback (most recent call last)
Cell In[17], line 5
3 for csv_file in file_list:
4 df = pd.read_csv(csv_file)
----> 5 csv_file_name = csv_file.split('\\')[7]
6 print('Processing File : {}'.format(csv_file_name))
7 df.columns = df.columns.str.replace(' ', '')
IndexError: list index out of range
What am I doing worng? what does this error mean?
>Solution :
It seems that when you split the string into array, you want to get element out of array range. So, the solution can be (if you want to extract last item):
csv_file_name = csv_file.split('\\')[len(csv_file.split('\\'))-1]