熊猫:skip_footer和迭代

时间:2016-10-25 08:00:35

标签: python pandas

我需要遍历大文件并指定数据类型:

 UPDATE FundDetails
 SET Column1 = 
        CASE 
           WHEN (funddetails.Industry * Industrydetail.price-Avg(funddetails.Industry) OVER (partition BY t2.state )) <= -5 
              THEN '50' 
              ELSE '100' 
        END
FROM FundDetails t2
INNER JOIN IndustryDetails t1 ON t1.State = t2.State 

最近,格式发生了变化。最后一行现在包含单词data = pd.read_table(file, chunksize=50000, dtype=dtype) for df in data: ... 。当我指定数据类型时,这当然会导致错误:

END

迭代文件时是否有可能将最后一行摘出?我试过了:

ValueError: invalid literal for int() with base 10: 'END'

但它告诉我data = pd.read_table(file, chunksize=50000, skipfooter=1, convertes=dtype, engine='python') for df in data: ... 不支持迭代:

skip_footer

一个明显的解决方案是将所有内容读作字符串,检查最后一行,删除它,然后才设置数据类型。是否有更优雅,更快的替代方案?

以下是评论中各种版本的最小工作示例:

ValueError: skip_footer not supported for iteration

0 个答案:

没有答案