擅长:python、mysql、java
<p>在Python2.x中,应该使用Unicode CSV读取器,因为Python的CSV读取器不支持该功能。您可以为此目的使用<a href="https://pypi.python.org/pypi/unicodecsv/0.9.4" rel="nofollow">unicodecsv</a>。</p>
<p>在当前的Python3.x代码中,打开文件时应显式传递文件编码:</p>
<pre><code>import csv
with open('some.csv', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
for row in reader:
print(row)
</code></pre>
<p>可能您的系统已经在做正确的事情,但在这种情况下,您依赖于默认值。</p>
<p>最后,您需要确保以正确的编码打开YAML文件:<code>open("yaml_file.yaml", "w", encoding="utf-8")</code>。这种编码应该在以后读取YAML文件时使用。</p>
<p>我不确定给定Python对象时<code>yaml</code>库会做什么,但是当您在<code>convert_to_yaml</code>内设置<code>line[0]</code>和<code>line[1]</code>时,还需要检查它们是否是Unicode字符串。</p>