【问题标题】:Parse single CSV file with multiple dimension tables解析具有多个维度表的单个 CSV 文件
【发布时间】:2014-12-18 08:04:13
【问题描述】:

我在 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 版本。到目前为止,我还没能用它制作出任何接近我想要的东西。

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

【问题讨论】:

    标签: python csv windows-7 python-3.4


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-01-23
      • 2021-09-11
      • 2023-03-31
      • 2017-11-14
      • 2017-04-03
      • 1970-01-01
      • 2021-05-08
      • 2014-11-30
      • 1970-01-01
      相关资源
      最近更新 更多