Py Pd, попробуйте / за исключением одураченных Excel и зарезервированных имен (‘CON.xls )

#python #try-catch #pd

#python #попробуйте-поймайте #панды

Вопрос:

Я делюсь опытом, который может сэкономить время другим пользователям когда-нибудь в будущем.

Это произошло при чтении списка файлов .xls в python / pandas, чтобы добавить их в dataframe. Код приведен ниже. Если файл в списке отсутствует, код заметит это с помощью try / except . Один из этих файлов называется ‘CON.xls — и файл пропал без вести.

Когда цикл был выполнен, попытка / исключение, по-видимому, не работает. Программа находится в режиме ожидания, и ничего не происходит. Это только тогда, когда файл назван ‘CON.xls «. Код был в порядке со всеми другими именами файлов в списке.

Затем я попытался создать ‘CON.xls «файл, сохраняющий его непосредственно из Excel, и даже excel отказался принять это имя. ‘CON.xls ‘ — это зарезервированное имя файла.

Try /except, по-видимому, не обнаруживал такого рода проблемы или был неправильным способом в этом случае:

 def db_to_df(list_of_file_names):
    return_df=pd.DataFrame([])
    for file_name in list_of_file_names:
    try:
        df=pd.DataFrame([])
        df=pd.read_excel(file_name '.xls')
        return_df = pd.concat([return_df, df])
        print('tFile added: ', file_name)
    except:
        print('nERROR: ', file_name,'n')

return(return_df)
 

Выше с WIN7 и очень старым 2003 xls, не уверен в других версиях.