<p>问题是<code>computers</code>中的每个项都是一个字符串,而Python中的字符串是字符序列,因此<code>writer.writerow()</code>认为每个字符都是一个单独的字段。要解决这个问题,需要首先根据逗号所在的位置将每个字符串<code>split</code>放入字段:</p>
<pre><code>import csv
def collate_computers(computers):
with open('results.csv', 'w', encoding='utf8') as outfile:
writer = csv.writer(outfile, quoting=csv.QUOTE_ALL, delimiter=',')
for s in computers:
fields = s.split(',')
writer.writerow(fields)
computers = [
"EB-ABORTZ,True,False,False,0",
"EB-AGONCHAROVA,True,False,False,0",
"EB-AHART-1,True,False,False,0",
"EB-AHEIDENREICH,True,False,False,0",
"EB-ALOCKLEAR,True,False,False,0",
"EB-AMARGULIS,True,False,False,0"
]
collate_computers(computers)
</code></pre>
<p><strong><code>results.csv</code></strong></p>
<pre class="lang-none prettyprint-override"><code>"EB-ABORTZ","True","False","False","0"
"EB-AGONCHAROVA","True","False","False","0"
"EB-AHART-1","True","False","False","0"
"EB-AHEIDENREICH","True","False","False","0"
"EB-ALOCKLEAR","True","False","False","0"
"EB-AMARGULIS","True","False","False","0"
</code></pre>