控制导出数据结构

2017-12-05  本文已影响0人  游侠儿evil

Controlling Export Data Structures

Visual Web Ripper在运行数据提取项目时,总是将数据提取到内部数据库中。内部数据库包含项目中每个模板的数据表。一个项目可以包含许多模板,因此这通常会导致大量的数据表,而这通常不是为最终用户展示所提取数据的好方法。因此,当导出数据时,Visual Web Ripper会将这些表合并到更少的表中,通常是单个数据表。

Visual Web Ripper通常情况下,将内部数据表整合到适当数量的导出表中是一件很好的工作,但是Visual Web Ripper不理解所提取数据的含义,所以有时您可能想要控制Visual Web Ripper正在整合内部数据表的方式。

您可以使用template选项保存数据方法来控制如何导出一个模板对应的数据表。

save data method

选项保存数据方法让您可以选择下面的保存方法之一。

在父表中添加数据列 Adding Data Columns in the Parent Table

在一个数据行中,将所有与单个逻辑数据项关联的所有数据都放在一起是很实用的。例如,如果您正在从产品目录中提取数据,您可能希望在单个数据行中拥有与某个产品相关联的所有数据(在Excel电子表格中的一行)。

下图中所示的输出数据结构包含三个数据表。数据结构演示了一个典型的产品目录提取,其中包含一个包含产品类别的数据表,第二个数据表包含产品详细信息,如名称和价格,以及包含每个产品的一个或多个图像的第三个数据表。

image.png

如果您正在将数据提取到Excel文件或CSV文件中,那么您可能需要这样的输出格式:

category1, product1, image1, image2,
category1, product2, image1, image2, image3

这可以通过将选项 Save data方法设置为AddColumnsInParentTable来实现,这将在父表(产品数据表)中保存新数据列中的图像数据。

AddColumnsInParentTable选项保存了在父表中模板提取的所有内容。您可以通过使用Add column methodColumn name elementSingle column value separator内容选项来控制在父表中保存的内容(以及如何)。

image.png

Add column method选项指定如何在父表中保存内容。你可以选择这四种方法中的一种:

当在父表中的多个列中保存数据时,父表中的列名将与子表中的列名相同,但是添加了一个数字。例如,如果子表中的列名是image,那么父表中的列名将会是

image_1, image_2, image_3, ....
Name Value
Width 100
Height 50
Depth 25

如果您在父表中保存某些数据,例如名称/值属性,那么您可能希望在父表中指定这些列,以反映子表中的内容。例如,查看下面的子表数据。

Name Value
Width 100
Height 50
Depth 25

您可能希望这个子表生成下面的父表列。

Width Height Depth
100 50 25

您可以通过将列名元素属性设置为内容元素的名称,将您希望使用的值提取为列名称,从而实现这一点。

局限性Limitations

在每次运行一个项目时,向父表添加列会导致父表中不同数量的列。这通常只适用于将数据导出到Excel电子表格,有时在导出数据到CSV文件时是有用的。































上一篇 下一篇

猜你喜欢

热点阅读