Python将数据保存到csv文件

时间:2016-11-28 21:37:57

标签: python function csv

我通常使用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

3 个答案:

答案 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'