操作大型文件python

问题描述 投票:1回答:2

我有一个2 GB的简单文件,1700万行这是库存数据,看起来像附件我正在尝试取一栏金额-我不确定为什么,但是目前它是一个字符串并想将其乘以数量列,那么我将要创建另一个列,该列将取每个项目和每个月的平均值,然后通过python或tableau enter image description here创建图形我正在使用python和pandas我的问题-我无法将金额转换为int或float我试图创建一个函数来循环数据,并获取数量字段中的每个值并将其转换为浮点数,因为文件的大小需要很多时间,而且我不确定它是否会成功我正在寻找最简单的方法来做到这一点

python data-manipulation
2个回答
0
投票

df['amount'].to_numeric(errors="coerce")

应将所有值设置为int或float,任何不能转换的值都将变为nan


0
投票

在这种情况下,不要给内存增加负担以保存大量数据。下面是通过yield

将数据加载到空中的示例
def getAmount():
    with open('filename','w+') as fp:
       for data in fp:
           yield int(data['amount']) or float(data['amount'])


for amt in getAmount():
     print(amt)
© www.soinside.com 2019 - 2024. All rights reserved.