我试图用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:
太长了,读不下去了,我尝试了多种不同的方法来调用/定义我的CSV写作功能,尝试了很多方法来写我的CSV(写,写等等),但是我找不到一种方法来写我的CSV列表。如果有人能解决这个问题或提供背景,我可以解决它,将不胜感激。你知道吗['playerName', '500'] #normal list
请记住,csvwriter有两种不同的方法:
.writerow
和.writerows
。你知道吗我听说只有字符串值可以写入CSV
是的,但是正如documentation所说的,你应该用
str
的序列来喂给.writerow
,这可能是str
的list
——看看为csv.writer
提供的例子。你知道吗如果不查看
playerInv
内容,我无法100%确定,但我认为您的编写代码应该是:请检查这是否有用。你知道吗
不再需要解决这个问题,能够写入CSV,但是每个字符都用逗号分隔。我会自己研究的。谢谢你让我查阅文件。你知道吗
相关问题 更多 >
编程相关推荐