从文本文件中读取训练数据

时间:2019-05-13 20:18:05

标签: python

我有一些训练数据,当我将其分配给jupyter笔记本中的变量时,它似乎会自动转换为对象,

例如

train_data = [("Uber blew through $1 million a week", [(0, 4, 'ORG')]),("Android Pay expands to Canada", [(0, 11, 'PRODUCT'), (23, 30, 'GPE')])]

但是当我使用

从文本文件中读取相同的数据时
with open(path, 'r') as myfile:
  data = myfile.read()

并将其分配给train_data变量,我不再需要遍历训练脚本中的对象

for _, annotations in train_data:
    for ent in annotations.get('entities'):
        ner.add_label(ent[2])

2 个答案:

答案 0 :(得分:2)

erotavlas。 File.read()返回一个字符串,这不是您将其视为对象的类型。您可以在读取字符串时像data = eval(myfile.read())那样对字符串求值,但这可能会带来安全风险,具体取决于您在何处使用它。另一个解决方案是使用记录在here中的json库。希望这对您有用!

答案 1 :(得分:1)

您可能会混淆变量和字符串。第一个示例是类型为list的变量,文件的内容以字符串形式返回。您必须先将其解析为适当的格式。