解析具有多个维度表的单个CSV文件

时间:2014-12-18 08:04:13

标签: python csv windows-7 python-3.4

我在win 7 64位上运行Python 3.4。

基本上我有一个CSV文件,如下所示:

#Begin
#Column1Title;Column2Title;Column3Title;Column4Title
value1;value2;value3;value4
#End
#Begin
#Column1Title;Column2Title;Column3Title;Column4Title;Column5Title;Column6Title
value1;value2;value3;value4;value5;value6
value1;value2;value3;value4;value5;value6
#End
....

单个CSV文件包含由#begin和#end标记分隔的多个表(具有不同的列数)。每个表都有一个标题(列标题),它与文件的其他表无关,文件有近14 000行。

我只想确定#Begin#end代码的位置,以便有效地提取这些代码中的数据,我希望避免阅读该文件除非有人指示我,否则逐行。

我试图绕过Pandas,安装了0.15.2版本。到目前为止,我还没有能够制作出与我想要的东西接近的东西。

由于文件很长,下一步是同时解析这样的多个文件,我正在寻找执行时间最有效的方法。

1 个答案:

答案 0 :(得分:0)

在大多数情况下,计算效率可能不如存储访问速度重要。因此,最佳性能加速将是仅读取文件一次(不先找到每个#begin然后再次迭代以处理数据)。

逐行循环实际上并不是非常低效,因此有效的方法是检查#begin标记的每一行,然后为找到{{{}时退出的每个数组输入一个数据处理循环。 1}}标签