Python内存效率读取csv和解析字段

2024-05-03 11:39:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图从.csv文件中提取信息并进行分析。这个文件不是很大(但将来可能会更大),目前这个csv文件的大小是23MB。列为:

SessionID    ActivityDate    ActivityID    ActivityType    InputValue    UserID    UserTitle   

我正在编写的分析函数并不需要所有这些函数,函数A只需要列“SessionID”和“ActivityDate”,而函数B可能只需要“ActivityID”、“ActivityType”和“InputValue”。我应该如何设计才能避免多次读取文件?我基本上能想到两种方法:

  1. 使用一个“readCSV”方法,该方法可以返回一个dictionary对象,该对象包含所有列和每个列的相应值。然后对于每个函数,我只给出不同函数所需的不同值列表。在

enter image description here

但是通过这种方式,我必须执行这个“readcsv”函数中的所有函数,以避免多个文件读取。在

  1. 将此分析作为一个类,以便可以读取该文件,init部分的不同列可以是该类的不同变量。然后我只需要读一次,并设置类的每个变量(列)对应的值。但问题是这不是在浪费记忆吗?将所有的值存储在类中,我可能很长时间都不会使用;而且,这是一个分析脚本,到目前为止,我还没有看到将它作为“类”的意义。它和其他人(如果有的话)之间没有互动。在

有什么建议吗?在

谢谢!在


Tags: 文件csv对象方法函数信息dictionaryuserid