我试图将整个文件读入内存(完成 - 使用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 *。 –