我需要在內存中生成類似數據的csv文件,然後將其編碼爲base64,因此我可以保存它。所以基本上我不想爲此在硬盤上創建文件。現在我通過創建csv文件來解決這個問題,然後編碼它的數據,保存它,然後只是簡單地刪除csv文件(因爲它不再需要)。但是有沒有辦法跳過文件創建,但以同樣的方式保存數據?我的意思是這些數據將被用來使用base64再次打開csv文件。Python - 在內存中生成csv文件,然後將其數據編碼到base64中?
import base64
import csv
from StringIO import StringIO
import os
def test_binary(self):
mylist = [['a', 'b'], ['c', 'd']]
with open("test.csv", "wb") as f:
writer = csv.writer(f)
writer.writerows(mylist)
myfile = open('test.csv', 'r')
stream = StringIO(myfile.read())
encoded = base64.b64encode(stream.getvalue())
self.test = encoded
myfile.close()
os.remove('test.csv')
降''test.csv''和使用'StringIO' – jfs