道歉,如果我没有正确地说出我的问题。我目前有一个包含2列数据的csv文件。我想添加带有关键字的第三列(来自我拥有的单词库),只要在第二列中找到该关键字。如果第二列中没有来自单词bank的单词,那么我只想按行写入行。在下面的示例中,第三列仅包含单词" green"和"红色"因为这些单词在单词bank和文件的第二列中:
wordbank = ["blue", "red", "green"]
apple | "The color is green" | green
orange | "The color is orange" |
berry | "Yes, red is the color" | red
我考虑过使用正则表达式但是不确定如何去做。我的代码目前看起来像这样,但我是python的新手,想知道是否有更简单/更合理的方式来解决这个问题。
wordbank=["green", "blue", "gold", "red", "pink"]
rowswwords = []
with open("input.csv", mode='r') as csv_input:
with open("output.csv", 'wb') as csv_output:
writer = csv.writer(csv_output)
for row in csv.reader(csv_input):
for word in wordbank:
if word in row[1]:
writer.writerow(row+[word])
rowswwords.append(row)
break
if row not in rowswwords:
writer.writerow(row+[""])
非常感谢你的帮助!