我在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版本。到目前为止,我还没有能够制作出与我想要的东西接近的东西。
由于文件很长,下一步是同时解析这样的多个文件,我正在寻找执行时间最有效的方法。
答案 0 :(得分:0)
在大多数情况下,计算效率可能不如存储访问速度重要。因此,最佳性能加速将是仅读取文件一次(不先找到每个#begin
然后再次迭代以处理数据)。
逐行循环实际上并不是非常低效,因此有效的方法是检查#begin
标记的每一行,然后为找到{{{}时退出的每个数组输入一个数据处理循环。 1}}标签