我在尝试写入csv文件时遇到错误。这是我的两个脚本:
Tasks.py
def get_data():
customer = Customer.objects.all()
csvfile = StringIO.StringIO()
csvwriter = csv.writer(csvfile)
for i in customers:
csvwriter.writerow([str(i.phone_number)])
return csvfile
在tests.py中:
with open(get_data().getvalue(), 'rb') as myfile:
data = [row for row in csv.reader(myfile.read().splitlines())]
print data
这是错误:
IOError: [Errno 2] No such file or directory: '999999999\r\n'
凡' 999999999'应该写在文件中。
我该如何解决这个问题?
答案 0 :(得分:2)
您的get_data()
函数不会返回文件,而是返回StringIO
个对象。你不需要open()
它,你可以这样读它:
myfile = get_data().getvalue()
data = [row for row in csv.reader(myfile.splitlines())]
print data