我試圖將整個文件讀入內存(完成 - 使用StringIO) - 但是,儘管我可以看到這些對象的行爲完全不像'真正'文件 - 我獲取了全部內容,或者我可以一次讀取一條線,但我不能工作,如何應用此模式:如何讓CSV閱讀器讀取內存文件?
import csv
with open(#MYMEMORYFILE_HERE#, 'rb') as csvfile:
spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
for row in spamreader:
是否有治療memoryfile就像磁盤上的文件的方式,所以我可以用更好的成語以上 ?
Python 2.7.4 (default, Apr 19 2013, 18:28:01)
編輯:謝謝你對這個問題的答案 - 我想我已經收窄了什麼困惑我......但我仍然在這裏有一個問題,下面不輸出什麼?我懷疑沖洗?
from csv import reader, writer
import StringIO
memfile=StringIO.StringIO()
spamwriter = writer(memfile)
spamwriter.writerow(['Spam'] * 5 + ['Baked Beans'])
spamwriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
spamreader=reader(memfile)
for row in spamreader:
print ', '.join(row)
memfile.close()
編輯#2:但是我找錯了樹我想:我不能讓上盤版的這個工作是(「IO錯誤:文件無法打開閱讀」 - 當我打開已經打開的文件上的讀取...) 編輯#3:放棄了StringIO(沒有真正需要它) - 根據答案使用分裂線。
我會在這裏留下代碼和評論 - 以防萬一它有用。 (儘管它是一個死路)。
年後,我看到你更新了你的問題;你的更新失敗,因爲你忘記*追回到0 *。 –