#python #pandas
Вопрос:
Утро,
Мне нужно получить уникальные элементы в строке, которые будут использоваться как часть критериев SQL.
sales_code_string_RFQ = 'AAA','BBB','CCC','DDD','AAA','EEE',.......
Цель состоит в том, чтобы получить уникальный список кодов продаж sales_code_string_RFQ
, разделенных ,
Следующее работает, но кажется неэффективным. Есть какие-нибудь предложения по улучшению?
# Covert string to list sales_code_string_RFQ = sales_code_string_RFQ.split(',') print('2. Split sales_code_string_RFQ:') print(sales_code_string_RFQ) ["'AAA'", "'BBB'", "'CCC'", "'DDD'", "'AAA'", "'EEE'".....] print('3. Get unique values and convert to list:') sales_code_string_RFQ = list(set(sales_code_string_RFQ)) print(sales_code_string_RFQ) ["'AAA'", "'BBB'", "'CCC'", "'DDD'", "'EEE'".....] print('4.Covert list to string:') sales_code_string_RFQ = ",".join(sales_code_string_RFQ) print(sales_code_string_RFQ) print("", end='n')
Окончательный правильный вывод:
'AAA', 'BBB', 'CCC', 'DDD', 'EEE' ,....
Комментарии:
1. Ваш вопрос неясен. Каков точный результат, которого вы пытаетесь достичь? Это список строк, всего одна строка? Я могу помочь вам с этой проблемой, поэтому, пожалуйста, проясните это для меня.
2. Строка (sales_code_string_RFQ), в которой удалены все повторяющиеся записи. Каждый элемент разделен запятой. Примечание. sales_code_string_RFQ не является списком
3. хорошо, функция списка удалена
Ответ №1:
Предполагая, что у вас есть список кодов продаж, подобных этому:
sales_codes = ["'AAA'", "'BBB'", "'CCC'", "'DDD'", "'AAA'", "'EEE'"]
Встроенный класс Python set
отсортирует список для вас и возьмет из него только уникальные элементы:
unique_codes = set(sales_codes)
Затем вы можете объединить их вместе, чтобы сформировать критерий запроса:
criterion = ', '.join(set(sales_codes))