我通常使用txt文件,但我需要使用csv我这样做我如何做txt文件,我不知道我做错了谁能帮助我。
Home = "Road"
House = 5
def Save(Home,House):
Saved=open('Saved.csv', 'a')
Saved.write(Home+House+"/n")
Saved.close()
Save(Home,House)
我收到此错误
File "F:/Pygame/Test12.py", line 74, in Save
Saved.write(Home+House+"/n")
TypeError: cannot concatenate 'str' and 'int' objects
答案 0 :(得分:2)
您不能将整数与字符串连接,请使用以下命令将int转换为字符串:
Saved.write(Home + str(House) + "\n")
答案 1 :(得分:2)
1)那不是.csv
文件。
2)在python中,你不能在没有事先转换的情况下将整数与字符串连接起来。
3)执行此操作:Home+str(House)
是合法的,但是当您想要回读文件时,您必须将两个字段分开(您无法将它们分开)
这是一个可以创建真实 csv文件的代码:
import csv
def Save(Home,House):
with open('Saved.csv', 'a') as Saved:
cw = csv.writer(Saved)
cw.writerow([Home,House])
当你撰写你的行时,你可以放置你想要的任何数据,csv
模块会根据需要将它转换为字符串。
BTW要回读它,使用csv.reader
并遍历行。由于您知道数据类型,因此可以直接将第二列转换为int
。
with open('Saved.csv', 'r') as Saved:
cr = csv.reader(Saved)
for row in cr:
Home = row[0]
House = int(row[1])
# now you have to do something with those variables :)
答案 2 :(得分:0)
Python变量有类型。所以你试图将5添加到未定义应用程序的'House'。要完成这项工作,您必须将数字5转换为字符串'5'。正如ettanany建议使用
Saved.write(Home+str(House)+"\n")
另外,请注意它'\ n'不是'/ n'