PYTHON无法将2D列表中的数据写入CSV

2024-10-02 20:34:21 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用Python将两个列表的内容分别写入两个csv。csv的内容是要在被写入之前擦除的,这是有效的,但是我无法成功地写入csv而没有一个错误或者根本没有写入它们。你知道吗

我尝试过“invWrite=csv.writer文件(打开(“库存.csv“,'at'),delimiter=',')”并使用“writerows”以及尝试“invWrite=open(”库存.csv“,”at“)”和使用“write”,但这一切似乎都不起作用,我的csv要么擦除(当我使用“w”方法而不是“at”)要么保持不变。你知道吗

尝试使用“map()”并playerWrite.writerows文件(map(str,x))导致以下错误:

*line 180, in <module>
    playerWrite.writerow(map(str,x))
_csv.Error: sequence expected*

简单的打字playerWrite.writerow播放器(x) 提供了一个与我的原始问题类似的问题-csv被擦除(这是有意的,并且由于我最初使用“w”方法调用write函数的事实),但是没有写入任何内容。你知道吗

我将在这里展示相关的代码,前半部分是从csv编写的列表,后半部分是重写csv的代码。playerInv是一个2D列表。你知道吗

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)

写作部分:

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))

以下是playerInv(list)的内容,从库存.csv在擦拭之前:

[['prisoner rags', '1'], ['training greatsword', '1'], ['battle spinner', '1'], ['granny smiths', '1'], ['skeleton key', '1'], ['bread', '1']] #this is a 2D list.

以下是playerfo:

['playerName', '500'] #normal list

太长了,读不下去了,我尝试了多种不同的方法来调用/定义我的CSV写作功能,尝试了很多方法来写我的CSV(写,写等等),但是我找不到一种方法来写我的CSV列表。如果有人能解决这个问题或提供背景,我可以解决它,将不胜感激。你知道吗


Tags: csv方法in内容列表openatwriter
2条回答

请记住,csvwriter有两种不同的方法:.writerow.writerows。你知道吗

我听说只有字符串值可以写入CSV

是的,但是正如documentation所说的,你应该用str的序列来喂给.writerow,这可能是strlist——看看为csv.writer提供的例子。你知道吗

如果不查看playerInv内容,我无法100%确定,但我认为您的编写代码应该是:

for x in playerInv:
    invWrite.writerow(map(str,x))

请检查这是否有用。你知道吗

不再需要解决这个问题,能够写入CSV,但是每个字符都用逗号分隔。我会自己研究的。谢谢你让我查阅文件。你知道吗

相关问题 更多 >