df1 - это кадр данных, содержащий около 15 000 строк с 2 столбцами следующих данных в указанном формате c. Каждый номер продукта имеет соответствующее описание. Например, здесь показаны только 3 строки:
"Номер продукта (название столбца 1)"
A1B2C3D4 123
"Описание (название столбца 2) "
App 2p 34 serv
" Номер продукта (название 1-й колонки) "
X1Y2Z3D4 312
" Описание (col 2 name) "
Sams 2p 34 serv
" Номер продукта (название 1 имени) "
X1Y2Z3P4 312
" Описание (имя столбца 2) "
Nok 2p 34 ser
При этом у меня есть шаблон данных, имеющий несколько определенных c строк (10 в номер) в следующем формате. Опять 2 колонки. Здесь также каждый код имеет соответствующее описание. Например, здесь показаны только 3 строки:
"Код детали (имя столбца 1)"
A1B2C3D4
"Описание (имя столбца 2)"
F C
"Код детали (имя столбца 1)"
X1Y2Z3D4
"Описание (имя столбца 2)"
N C
"Код детали (имя столбца 1)"
X1Y2Z3P4
"Описание (имя столбца 2) "
P C
С этим у меня мало ключевых слов : App, Sams и Nok.
Используя pandas, я пытаюсь применить следующие фильтры в df1:
кодов из шаблона (столбец 1) в столбце 1 df1 и использование ключевых слов в столбце 2 df1 по одному. Отфильтрованные, я добавляю описание col 2 в шаблоне с col2 описания в df1
Для каждого ключевого слова я фильтрую все коды ввода. В В результате, я хотел бы иметь только 2 столбца, которые должны содержать парт-кодов col 1 (которые отфильтрованы) и добавленное описание в col2 в различных экземплярах согласно описание col2 шаблонного фрейма данных
Я написал следующий код для одиночной логики c и его генерацию в Excel. Тем не менее, я не могу масштабировать его для нескольких парт-кодов и ключевых слов. Пожалуйста, поддержите, чтобы ответить.
for i in template.index:
if(template['Partcode'][i].__contains__('A1B2C3D4')):
to_be_concatenated = template['Description'][i]
list1 = []
list2 = []
for i in df1.index:
if(df1['Product Number'][i].__contains__('A1B2C3D4') & df1['Description'][i].__contains__("App")):
list1.append(to_be_concatenated + "" + df1['Description'][i])
list2.append(df1['Product Number'][i])
final1 = list(zip(list2,list1))
output1 = pd.DataFrame(final1, columns = ['Product Number','Description'])
writer = pd.ExcelWriter('C:\\Desktop\\App.xlsx', engine='xlsxwriter')
output1.to_excel(writer, sheet_name='FC', index = False)
writer.save()