擅长:python、mysql、java
<p>你的问题似乎暗示“标记化”是一种神秘而复杂的过程。但事实上,您正试图做的事情正是<em>标记化</em>。你知道吗</p>
<p>下面是一种非常有效的方法,可以读取显示的文件,将其分解为令牌,并将其存储在数据结构中:</p>
<pre><code>def read_file_data(data_file_path):
result = {}
with open(data_file_path) as data_file:
for line in data_file:
key, value = line.split(' ', maxsplit=1)
result[key] = value
return result
</code></pre>
<p>这并不复杂,代码不多,不需要第三方库,而且很容易使用:</p>
<pre><code>data = read_file_data('path/to/file')
print(data['Nom']) # prints "NMS-01"
</code></pre>
<p>现在,这个实现对文件的结构做了很多假设。除此之外,它还假设:</p>
<ul>
<li>整个文件的结构为键/值对</li>
<li>每个键/值对都适合一行</li>
<li>文件中的每一行都是键/值对(没有注释或空行)</li>
<li>键不能包含空格字符</li>
<li>值不能包含换行符</li>
<li>同一个键在文件中不会出现多次(如果出现,则可以接受最后一个给定值是唯一返回的值)</li>
</ul>
<p>其中一些假设可能是错误的,但对于您提供的数据样本,它们都是正确的。你知道吗</p>
<p>更一般地说:如果要解析某种结构化数据,需要了解数据的结构以及值之间的分隔方式。这就是为什么像XML、JSON和YAML这样的常见结构化数据格式(以及许多其他格式!)是发明出来的。一旦你知道了你正在解析的<em>语言</em>,<em>标记化</em>就是你编写的将语言与你输入的文本相匹配的代码。你知道吗</p>