我们的员工正在为客户工作,客户向我们发送包含我们转化为绩效指标的信息的文件(我们无法直接访问此信息 - 需要从客户端发送)。这些文件通常是.csv或.xlsx,因此我通常会用pandas读取它们并输出更清晰,更小的文件。
1)某些文件包含不断重复的呼叫驱动程序或其他分类信息(例如,发行驱动程序1,具有20种可能性和发布驱动程序2,有100种可能性) - 这些文件每年大约有1亿多条记录,因此它们变为如果我巩固它们,那就太大了。创建字典并将每个驱动程序映射到整数是否更好?我读了一下pandas中的类别dtype - 这是否会使输出文件大小变小或只是在内存中?
2)我将输出存储为.csv,这意味着如果我再次读取文件,我将丢失dtypes。我如何维护dtypes,我应该将文件保存到sqlite而不是大量的.csv文件?我现在的问题是,我确实创建了每月将文件分解为单独的.csvs的代码,然后维护一个用于分析的大量文件(通常将其转储到Tableau中)。如果我需要对月度文件进行更改,我必须重新编写它们,这些都是我的笔记本电脑非SSD硬盘驱动器上的慢速。
3)我通常只需要与一两个人共享数据。大多数分析请求都是临时性的,但涉及一到三年非常精细的数据(单个调查或交互,每个调查或交互在单独的文件中由单行表示)。换句话说,我不需要具有高读写并发性的系统。只想要快速,高效和巩固的东西。