<p>如果希望“02e4”在excel中显示为“02e4”,那么令人恼火的是,您必须用三个双引号编写csv:“02e4”。我不知道如何使用csv writer,因为它将引号字符限制为一个字符。但是,您可以做一些类似于您最初尝试的事情:</p>
<pre><code>table = [['aa02', 'fb4a82', '0a0009'], ['02e4', '452ca2', '0b0004']]
ofile = open('test.csv', 'wb')
for i in range(0, len(table)):
for j in range(len(table[i])):
ofile.write('"""%s""",'%table[i][j])
ofile.write("\n")
</code></pre>
<p>如果在文本编辑器中打开,csv文件将显示:</p>
<pre><code>"""aa02""","""fb4a82""","""0a0009""",
"""02e4""","""452ca2""","""0b0004""",
</code></pre>
<p>这将在Excel中生成以下结果:</p>
<p><a href="https://i.stack.imgur.com/yvP9T.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/yvP9T.png" alt="Excel Double Quote Example Image"/></a></p>
<p>如果您想使用任何单字符引号,您可以使用csv模块,如下所示:</p>
<pre><code>import csv
table = [['aa02', 'fb4a82', '0a0009'], ['02e4', '452ca2', '0b0004']]
ofile = open('test.csv', 'wb')
writer = csv.writer(ofile, delimiter=',', quotechar='|',quoting=csv.QUOTE_ALL)
for i in range(len(table)):
writer.writerow(table[i])
</code></pre>
<p>文本编辑器中的输出将是:</p>
<pre><code>|aa02|,|fb4a82|,|0a0009|
|02e4|,|452ca2|,|0b0004|
</code></pre>
<p>Excel将显示:</p>
<p><a href="https://i.stack.imgur.com/G5hq1.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/G5hq1.png" alt="Excel Pipe Quote Example Image"/></a></p>