首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用行数限制在python中存储数据

如何使用行数限制在python中存储数据
EN

Stack Overflow用户
提问于 2022-02-28 11:21:31
回答 1查看 316关注 0票数 0

对于一个项目,我有发送有效载荷的设备,我应该将它们存储在一个本地文件中,但是我有内存限制,我不想存储超过2000个数据行。同样,由于内存限制,我无法拥有数据库,所以我选择将数据存储在csv文件中。我尝试使用open('output.csv', 'r+') as f:;我将行附加到csv的末尾,每次使用sum(1 for line in f)时都必须检查长度,以确保不超过2000。当我到达2000行时,问题就开始了,理想情况下,我希望删除第一行并在末尾添加另一行,或者从文件的开头开始写入行,并覆盖旧行而不删除每一行,但我不知道该如何做。我试着使用open('output.csv', 'w+')open('output.csv', 'a+'),但是它将在只写一行的同时删除w+的所有内容,而a+则会继续添加到末尾。另一方面,我不能再用两者来计算行数了。请帮助我从开头开始重写每一行,还是从开头删除一行,并将一行追加到末尾,您能帮助我吗?如果您可以告诉我是否有比csv文件更好的chioce来存储许多数据,或者我可以使用更好的方法来计算行数,我也会进行研究。

EN

回答 1

Stack Overflow用户

发布于 2022-02-28 11:59:09

这会有帮助的。见内联注释

代码语言:javascript
复制
import pandas as pd

allowed_length = 2 # Set it to the required value
df = pd.read_csv('output.csv') #Read your csv file to df

row_count = df.shape[0] #Get row count

df.loc[row_count] = ['Fridge', 15] #Insert row at end of df. In my case it has only 2 values

#if count of dataframe is greater or equal to allowed_length, the delete first row
if row_count >= allowed_length:
    df = df.drop(df.head(1).index)

df.to_csv('output.csv', index=False)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71294252

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档