我有一个 2 列表,其中包含第一列中的项目和第二列中的颜色类别,项目和颜色以制表符分隔:
car blue
bicycle;scooter green
boat yellow
firetruck;airplane;skateboard red
motorcycle black
我想将表格/列表转换为:
car blue
bicycle green
scooter green
boat yellow
firetruck red
airplane red
skateboard red
motorcycle black
我在想我需要定义一个函数来处理第 1 列中分隔字符串的拆分,并在每行/行的第 2 列中写入适当的类别。
我认为逻辑基本上是:
with open('colors_in.txt', 'rt') as src:
with open('colors_out.txt', 'wt') as dest:
#store column 2 category in a variable and break apart the string at the delimiter in new lines + category
def splitter()
colorval = (row[1] for row in src)
for line in src:
for word in line.split(';'):
dest.write(word.rstrip() + colorval + '\n')
if ";" in line:
splitter()
else:
for line in src:
dest.write(line)
我环顾四周寻找解决这个问题的方法,发现一些非常复杂的元素涉及 numpy 和 imap() ,我不确定如何合并。我知道上面的代码是非常不正确的——只是试图尽可能地表达我想要代码做/完成的事情。将不胜感激任何见解 - 谢谢!