2016-12-25 80 views

回答

0

你所提到的文件中,我們可以看到,CSVSource距離csv模塊參考DictReader

如果我們看一下DictReader類的源代碼(這是__init__方法,要準確),我們可以看到這一點:

class DictReader: 
    def __init__(self, f, fieldnames=None, restkey=None, restval=None, 
        dialect="excel", *args, **kwds): 
     self._fieldnames = fieldnames # list of keys for the dict 
     self.restkey = restkey   # key to catch long rows 
     self.restval = restval   # default value for short rows 
     self.reader = reader(f, dialect, *args, **kwds) 
     self.dialect = dialect 
     self.line_num = 0 

由於在輸入參數沒有關鍵字csvfile,這種說法被傳遞到**kwds,意思是參數f丟失。我沒有安裝這個庫,但我認爲只通過open('src.csv', 'r', 16384)而沒有csvfile=將解決此問題。事情是這樣的:

import pygrametl 
from pygrametl.datasources import CSVSource 

src = CSVSource(open('src.csv', 'r', 16384), delimiter=',') 

更新:剛裝pygrametl和測試沒有csvfile=,它工作正常。

+0

謝謝Fejs :) – SaikiHanee

相關問題