我需要解析csv的每一行,并通过匹配现有列是否与模式匹配来添加新列。例如,如果column a以字符串elephant
开头,那么我将添加一个名为Mammal
的新列。
所以,文件就像
uid datetime description
1 2015-09-01 an elephant has trunks
2 2015-08-31 there are sharks in the sea
所以,我想搜索description
列并添加一个名为animal
的新列,该列将标识我们正在讨论的动物类型。所以,新的csv将是
uid datetime description animal
1 2015-09-01 an elephant has trunks mammal
2 2015-08-31 there are sharks in the sea fish
这是一个相当简单的示例,但我实际上需要创建一个动物类型和描述的查找。
编辑:我添加了一个问题的示例。
你可以把你的查找表做成一个dict
您可能还需要添加复数。
然后你只需要把描述分成几个单词,在你的字典中查找单词,然后根据找到的第一个单词对描述进行分类:
注意,这是一个循环
else
。它需要缩进到与for
相同的级别。我不太喜欢loop else,因为如果循环变长,缩进很容易出错,而且很难找到bug,但是如果循环很短,就像上面的例子一样,它们很好。如果您需要在循环中执行比我演示的更多的操作,则可能需要替换其他构造。(另外,“野兽”显然是个烂名字,请想一个更好的名字。)相关问题 更多 >
编程相关推荐