Python将数据保存到csv文件
我通常使用txt文件,但我需要使用csv我基于此我如何做txt文件,我不知道我做错了什么,任何人都可以帮助我。Python将数据保存到csv文件
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
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
模块,如果需要转换为字符串。
顺便读一遍,使用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 :)
因此,如果我想从csv文件中读取家庭和房屋,我将如何正确编辑 – Coder101
以显示阅读部分。玩的开心! –
你不能用字符串拼接的整数,请使用以下为int转换为字符串:
Saved.write(Home + str(House) + "\n")
Python的变量有类型。所以你正试图将5添加到未定义应用程序的'House'中。为了使这项工作,你必须将数字5转换为字符串'5'。作为ettanany建议使用
Saved.write(Home+str(House)+"\n")
另外,还要注意它的 '\ n' 而不是 '/ N'
...你想做什么? 'Home + House +'/ n“'应该给予什么? (另外,你正在使用正斜杠,我猜这应该是一个反斜杠。)CSV在哪里进来?我没有看到任何证据。如果您正在尝试读取或写入CSV文件,则应使用['csv'模块](https://docs.python.org/3/library/csv.html#module-csv)。 – Chris