Python 用于根据长度 row/list 创建字符串的函数
Python function for creating a string based on length of row/list
我正在使用 Python 和 SQL Alchemy 来自动执行某些产品分类。本质上,我希望将任何带有项目的 csv 作为行并将其格式化为搜索字符串,以获取 SQL 查询的 case 语句。
我想在 python 中编写一个函数,它将测量一行(或列表)的长度并在每个单词之间插入文本并输出一个字符串,该字符串将输入 SQL 找到那些话。随附的屏幕截图是我在 excel 中的做法。我敢肯定,对于具有一定连接技能的人来说,这相当简单。
Script Output Example
在我看来,您可以从第一列中获取值并将其拆分到列表中以获得所需的结果。
例如:
input_items = [
"Bootcut Yoga Pants",
"Go-Go Boots",
"Flower Print Mini Skirts",
]
for input_item in input_items:
# Split the item in to a list of individual words
items = input_item.split()
# Turn the list of words in to a list of query clauses
query_items = [f"item_name ilike '%{item}%'" for item in items]
# Turn that in to a string, with the word "and" between each item
query_line = " and ".join(query_items)
# Construct the final query
print(f"when {query_line} then '{input_item}'")
结果:
when item_name ilike '%Bootcut%' and item_name ilike '%Yoga%' and item_name ilike '%Pants%' then 'Bootcut Yoga Pants'
when item_name ilike '%Go-Go%' and item_name ilike '%Boots%' then 'Go-Go Boots'
when item_name ilike '%Flower%' and item_name ilike '%Print%' and item_name ilike '%Mini%' and item_name ilike '%Skirts%' then 'Flower Print Mini Skirts'
我正在使用 Python 和 SQL Alchemy 来自动执行某些产品分类。本质上,我希望将任何带有项目的 csv 作为行并将其格式化为搜索字符串,以获取 SQL 查询的 case 语句。
我想在 python 中编写一个函数,它将测量一行(或列表)的长度并在每个单词之间插入文本并输出一个字符串,该字符串将输入 SQL 找到那些话。随附的屏幕截图是我在 excel 中的做法。我敢肯定,对于具有一定连接技能的人来说,这相当简单。
Script Output Example
在我看来,您可以从第一列中获取值并将其拆分到列表中以获得所需的结果。
例如:
input_items = [
"Bootcut Yoga Pants",
"Go-Go Boots",
"Flower Print Mini Skirts",
]
for input_item in input_items:
# Split the item in to a list of individual words
items = input_item.split()
# Turn the list of words in to a list of query clauses
query_items = [f"item_name ilike '%{item}%'" for item in items]
# Turn that in to a string, with the word "and" between each item
query_line = " and ".join(query_items)
# Construct the final query
print(f"when {query_line} then '{input_item}'")
结果:
when item_name ilike '%Bootcut%' and item_name ilike '%Yoga%' and item_name ilike '%Pants%' then 'Bootcut Yoga Pants'
when item_name ilike '%Go-Go%' and item_name ilike '%Boots%' then 'Go-Go Boots'
when item_name ilike '%Flower%' and item_name ilike '%Print%' and item_name ilike '%Mini%' and item_name ilike '%Skirts%' then 'Flower Print Mini Skirts'