When you set autodetect_column_names true the very first event that the filter sees is parsed as column headers. Once that is done it is never re-done. If you have multiple files with different columns the only way to use autodetect_column_names is to pass them through different csv filters. See this thread.