您无法使用0.12版本的熊猫从生成器创建Dataframe。您可以将自己更新为开发版本(从github获取并进行编译-
在Windows上有点痛苦,但我希望使用此选项)。
或者您也可以,因为您说过要过滤行,请先过滤它们,将它们写入文件,然后使用
read_csv或其他方式加载它们。
如果您想变得超级复杂,可以创建一个类似于object的文件,该文件将返回以下行:
def gen(): lines = [ 'col1,col2n', 'foo,barn', 'foo,bazn', 'bar,bazn' ] for line in lines: yield lineclass Reader(object): def __init__(self, g): self.g = g def read(self, n=0): try: return next(self.g) except StopIteration: return ''
然后使用
read_csv:
>>> pd.read_csv(Reader(gen())) col1 col20 foo bar1 foo baz2 bar baz



