#python #pandas
#python #панды
Вопрос:
Я пытаюсь найти все дубликаты, используя pandas, и мне это удалось. Однако в Excel есть несколько листов, и я хотел бы повторить процесс для всех листов, и в конечном Excel должны быть все новые данные без дубликатов, и они размещаются на их отдельном листе. В настоящее время я застрял, поскольку мой код будет проходить только по циклу, и результатом будет только последний зацикленный рабочий лист. Следовательно, было бы здорово, если бы кто-нибудь мог просветить меня по этому вопросу. Ниже приведен мой код:
final_audited_filepath = '<file_path>\test12.xlsx'
x1=pd.ExcelFile(final_audited_filepath)
writer=pd.ExcelWriter("<file_path>\test123.xlsx")
for sheet in x1.sheet_names: #scan for the number of worksheets in the excel
data=pd.read_excel(final_audited_filepath, sheet_name=sheet)
data_first_record= data.drop_duplicates(subset=['Reference ID','Check Description'], keep="first")
data_first_record.to_excel(writer, index=False, sheet_name=sheet)
Ответ №1:
Чтобы записать более одного листа в книгу или файл Excel с помощью Pandas, вам необходимо использовать объект ExcelWriter,
with pd.ExcelWriter('output.xlsx') as f:
df1.to_excel(f, sheet_name='sheet 1')
df2.to_excel(f, sheet_name='sheet 2')
После удаления дубликатов создайте отдельные фреймы данных df1, df2 и т. Д. Для разных листов и попробуйте приведенный выше код.
Нажмите здесь, чтобы проверить ссылку документации Pandas to_excel
Комментарии:
1. Привет, прасун, спасибо за идею, мне удалось записать свои данные на отдельный лист. Спасибо!