所以我有两个文件。一个yaml文件包含tibetan words : its meaning
。另一个csv文件只包含word和它的POStag。如下:
yaml文件:
ད་གདོད: ད་གཟོད་དང་དོན་འདྲ།
ད་ཆུ: དངུལ་ཆུ་ཡི་མིང་གཞན།
ད་ཕྲུག: དྭ་ཕྲུག་གི་འབྲི་ཚུལ་གཞན།
ད་བེར: སྒྲིབ་བྱེད་དང་རླུང་འགོག་བྱེད་ཀྱི་གླེགས་བུ་ལེབ་མོའི་མིང་།
ད་མེ་དུམ་མེ: དམ་དུམ་ལ་ལྟོས།
csv档案:
ད་ཆུ PART
ད་གདོད DET
所需输出:
ད་ཆུ PART དངུལ་ཆུ་ཡི་མིང་གཞན།
ད་གདོད DET ད་གཟོད་དང་དོན་འདྲ།
有什么想法如何使文本匹配从csv文件到yaml文件,并提取其含义在csv?
3条答案
按热度按时间xuo3flqw1#
从功能的Angular 来看,您拥有:
如果内存可以容纳所有内容,可以先读取yaml文件生成Python字典,然后读取 words 文件,一次读取一行,并使用上面的字典生成预期的行。如果yaml文件太大,可以使用
dbm
(或shelve
)模块作为 *on disk字典 *。因为你没有显示任何代码,我也不能...我只能说你可以简单地把第二个文件作为一个纯文本文件来处理,一次读一行。对于第一个文件,你可以从PyPI中查找一个
yaml
模块,或者如果语法总是像你所显示的行一样简单,只需将其作为文本一次处理一行,并使用split
提取键和值。62lalag42#
假设您的文件名为
dict.yml
和input.csv
。您可以通过以下命令将yaml文件转换为字典:
这应该给予你
然后,您可以遍历CSV中的行,并使用字典获取定义:
在这里,您的
outputs
变量应该包含['ད་ཆུ དངུལ་ཆུ་ཡི་མིང་གཞན།', 'ད་གདོད ད་གཟོད་དང་དོན་འདྲ།']
。如果CSV的每一行都有更多的标记(从你的帖子中看不清楚),你可以在一行中迭代这些标记,但是你基本上可以应用相同的方法。
eiee3dmh3#
我想到的最简单的解决方案是遍历YAML文件中的所有行,并检查单词是否在CSV文件中:
YAML_LINES
和CSV_LINES
列表只是提供了一个简单的例子。