回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我试图用Python将两个列表的内容分别写入两个csv。csv的内容是要在被写入之前擦除的,这是有效的,但是我无法成功地写入csv而没有一个错误或者根本没有写入它们。你知道吗</p>
<p>我尝试过<em>“invWrite=csv.writer文件(打开(“库存.csv“,'at'),delimiter=',')”</em>并使用<em>“writerows”</em>以及尝试<em>“invWrite=open(”库存.csv“,”at“)”</em>和使用<em>“write”</em>,但这一切似乎都不起作用,我的csv要么擦除(当我使用“w”方法而不是“at”)要么保持不变。你知道吗</p>
<p>尝试使用“map()”并playerWrite.writerows文件(map(str,x))导致以下错误:</p>
<pre><code>*line 180, in <module>
playerWrite.writerow(map(str,x))
_csv.Error: sequence expected*
</code></pre>
<p>简单的打字playerWrite.writerow播放器(x) 提供了一个与我的原始问题类似的问题-csv被擦除(这是有意的,并且由于我最初使用“w”方法调用write函数的事实),但是没有写入任何内容。你知道吗</p>
<p>我将在这里展示相关的代码,前半部分是从csv编写的列表,后半部分是重写csv的代码。playerInv是一个2D列表。你知道吗</p>
<pre><code>import csv
playerInfo = []
playerRead = csv.reader(open("playerInfo.csv", 'r'), delimiter=',')
for x in playerRead:
playerInfo.append(x[0])
playerMoney = str(playerInfo[1])
playerInv = []
invRead = csv.reader(open("INVENTORY.csv", 'r'), delimiter=',')
for x in invRead:
playerInv.append(x)
</code></pre>
<p>写作部分:</p>
<pre><code>playerWrite = csv.writer(open("playerInfo.csv",'w'), delimiter=',')
invWrite = csv.writer(open("INVENTORY.csv",'w'), delimiter=',')
playerWrite = csv.writer(open("playerInfo.csv",'at'), delimiter=',')
invWrite = csv.writer(open("INVENTORY.csv",'at'), delimiter=',')
for x in playerInfo:
playerWrite.writerows(str(x))
for x in playerInv:
invWrite.writerows(str(x))
</code></pre>
<p>以下是playerInv(list)的内容,从库存.csv在擦拭之前:</p>
<blockquote>
<p>[['prisoner rags', '1'], ['training greatsword', '1'], ['battle
spinner', '1'], ['granny smiths', '1'], ['skeleton key', '1'],
['bread', '1']] #this is a 2D list.</p>
</blockquote>
<p>以下是playerfo:</p>
<blockquote>
<p>['playerName', '500'] #normal list</p>
</blockquote>
太长了,读不下去了,我尝试了多种不同的方法来调用/定义我的CSV写作功能,尝试了很多方法来写我的CSV(写,写等等),但是我找不到一种方法来写我的CSV列表。如果有人能解决这个问题或提供背景,我可以解决它,将不胜感激。你知道吗</p>