我試圖將一些CSV數據讀入數組。我大概可以解釋什麼,我想在Python比用英語做的更好:Python CSV閱讀器沒有以我期望的方式讀取CSV數據
>>> line = ImportFile.objects.all().reverse()[0].file.split("\n")[0]
>>> line
'"007147","John Smith","100 Farley Ln","","Berlin NH 03570","Berlin","NH",2450000,"John",24643203,3454,"E","",2345071,1201,"N",15465,"I",.00,20102456,945610,20247320,1245712,"0T",.00100000,"",.00,.00,780,"D","000",.00,0\r'
>>> s = cStringIO.StringIO()
>>> s
<cStringIO.StringO object at 0x9ab1960>
>>> s.write(line)
>>> r = csv.reader(s)
>>> r
<_csv.reader object at 0x9aa217c>
>>> [line for line in r]
[]
正如你所看到的,CSV數據在內存中開始,而不是在一個文件中。我希望我的讀者能夠獲得一些這樣的數據,但事實並非如此。我究竟做錯了什麼?
在這種情況下,這種方式*也*正確,但有時您需要讀寫StringIO對象;它被支持。 – 9000 2011-01-31 21:26:51