I am trying to filter 800 hundred csv files. but gives no entry in first run. the script filters data after having 3 to 4 runing it not on the first time without any error.
import pandas as pd
import os
from datetime import datetime
def filter_data(filenames, search_keyword):
df_resultant = pd.DataFrame([])
for filename in filenames:
col_names = ["col1", "col2", "col3", "col4", "col5"]
# excel_file_df = pd.read_csv(filename, index_col=False, nrows=0)
# excel_file_df = pd.read_csv(filename, low_memory=False, names=col_names, dtype={'col1': str,'col4': str})
# excel_file_df = pd.read_csv(
# filename, low_memory=False, names=col_names)
excel_file_df = pd.read_csv(
filename, dtype='unicode', names=col_names)
df = excel_file_df[excel_file_df['col3'].str.contains(
search_keyword, na=False, case=False)]
if not df.empty:
df_copy = df.copy()
df_copy.loc[:, 'file_name'] = os.path.basename(filename)
df_copy.columns = [''] * len(df_copy.columns)
df_resultant = pd.concat([df_resultant, df_copy])
df_resultant.to_csv(
'./output/' + str(datetime.now().timestamp())+'.csv', index=False)