如何在python中创建可以保存在内存中的CSV文件?
我在django中创建了一个CSV文件,当你到达一个url时,它会下载CSV文件,效果很好。唯一的一点是,我希望当文件被写入时,它会存储在内存中,而不是硬盘中。如何使用导入csv进行此操作 这适用于使用列表创建csv的django如何在python中创建可以保存在内存中的CSV文件?,python,django,excel,csv,Python,Django,Excel,Csv,我在django中创建了一个CSV文件,当你到达一个url时,它会下载CSV文件,效果很好。唯一的一点是,我希望当文件被写入时,它会存储在内存中,而不是硬盘中。如何使用导入csv进行此操作 这适用于使用列表创建csv的django def data_feed_file(request): open_publications = self.get_publications(user_context) with open('facebook_feed.csv', 'wb') as
def data_feed_file(request):
open_publications = self.get_publications(user_context)
with open('facebook_feed.csv', 'wb') as csvfile:
filewriter = csv.writer(csvfile, delimiter=',', quotechar='|', quoting=csv.QUOTE_MINIMAL)
filewriter.writerow(['id', 'title','description'])
for op_pub in open_publications:
filewriter.writerow([op_pub.id, op_pub.name, str(op_pub.description)])
with open('facebook_feed.csv', 'rb') as myfile:
response = HttpResponse(myfile, content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename=facebook_feed.csv'
return response
您可以将csv文件保存在数据框中。像这样:
import pandas as pd
df = pd.read_csv('url_to_csv')
然后pandas库读取csv,您不必将其保存到驱动器。您希望客户端将csv下载到内存中吗?
io.StringIO
?但是请注意,您必须将对该对象的引用存储在其中,而不要关闭它,否则gc将从内存中删除该对象。不,我希望客户端卸载该文件,但在将其保存在memeory而不是硬盘中时,您是否检查了csv文档?比如csv.reader?或者甚至Django自己的文档,其中包含了一个包含这个确切用例的文档。