Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Csv 清理和存储文件的最佳方法_Csv_Pandas - Fatal编程技术网

Csv 清理和存储文件的最佳方法

Csv 清理和存储文件的最佳方法,csv,pandas,Csv,Pandas,我们的员工为客户工作,客户向我们发送文件,其中包含我们转化为绩效指标的信息(我们无法直接访问此信息-需要从客户处发送)。这些文件通常是.csv或.xlsx,因此我通常使用pandas读取它们,并输出一个更干净、更小的文件 1) 有些文件包含不断重复的呼叫驱动程序或其他分类信息(例如,发出驱动程序1时有20种可能性,发出驱动程序2时有100种可能性)-这些文件每年大约有1亿多条记录,因此如果我合并它们,它们会变得相当大。创建一个字典并将每个驱动程序映射到一个整数是否更好?我读了一些关于pandas

我们的员工为客户工作,客户向我们发送文件,其中包含我们转化为绩效指标的信息(我们无法直接访问此信息-需要从客户处发送)。这些文件通常是.csv或.xlsx,因此我通常使用pandas读取它们,并输出一个更干净、更小的文件

1) 有些文件包含不断重复的呼叫驱动程序或其他分类信息(例如,发出驱动程序1时有20种可能性,发出驱动程序2时有100种可能性)-这些文件每年大约有1亿多条记录,因此如果我合并它们,它们会变得相当大。创建一个字典并将每个驱动程序映射到一个整数是否更好?我读了一些关于pandas中的类别dtype的内容-这会使输出文件的大小变小还是只在内存中

2) 我将输出存储为.csv,这意味着如果再次读取该文件,我将丢失数据类型。如何维护数据类型,是否应该将文件保存到sqlite,而不是大量的.csv文件?我现在的问题是,我每个月都会创建代码将文件分解成单独的.csv,然后维护一个用于分析的大型文件(通常将其转储到Tableau中)。如果我需要更改每月的文件,我必须重新写入它们,这在我的笔记本电脑非SSD硬盘上很慢


3) 我通常只需要与一两个人共享数据。大多数分析请求都是临时性的,但涉及到一到三年的非常精细的数据(单独的调查或交互,每一个都由单独文件中的一行表示)。换句话说,我不需要具有高读写并发性的系统。只是想要一些快速、高效和整合的东西

熊猫在记忆中。为什么不建立一个int->drivers的转换表,并将驱动程序存储为int。我建议使用pytables/HDF5Store而不是csv。因此,如果我创建了一个名为drivers.csv的转换表,我是否能够轻松地1)将驱动程序转换为其相应的整数,而无需使用.map并手动键入每个驱动程序,2)在需要时将其转换回驱动程序?有效地进行这项工作的最佳方式是什么?我将阅读HDF5商店,我不熟悉。