Automate everything







两侧同时换到之前的修订记录 前一修订版
zh:table [2012/09/01 06:41]
zh:table [2015/07/14 15:51] (当前版本)
行 39: 行 39:
 ====== 处理表格数据 ====== ====== 处理表格数据 ======
-使用“Table processing”指令访问表格数据,你可以取一行或者某一格,也可以添加、删除或者保存。表格的标记很简单,就像普通的Excel文档,列以拉丁字母命名,行以数字命名(从0开始)。\\注意:可以把表格中的某一行(例如用户名、密码和电子邮件)数据用“Take line”直接放到各自变量中。这种情况下,不用每个单元格单独读取。\\指定行数时可以使用[[:​zh:​ranges|区域]]。+使用“Table processing”指令访问表格数据,你可以取一行或者某一格,也可以添加、删除或者保存。表格的标记很简单,就像普通的Excel文档,列以拉丁字母命名,行以数字命名(从0开始)。\\ 注意:可以把表格中的某一行(例如用户名、密码和电子邮件)数据用“Take line”直接放到各自变量中。这种情况下,不用每个单元格单独读取。\\ 指定行数时可以使用[[:​zh:​ranges|区域]]。
 {{:​en:​table_action_get_string_eng.png?​200}}{{:​en:​table_action_get_cell_eng.png?​200}} {{:​en:​table_action_get_string_eng.png?​200}}{{:​en:​table_action_get_cell_eng.png?​200}}
 ====== ​ ====== ====== ​ ======
 +====== 注意事项 ======
-====== Restrictions and cautions ====== 
 +    * 如果内存不够大,不要创建过大的文件(数百兆)。
 +    * 如果不同的项目使用不同的分隔符处理同一个文件,则无法正确的同步文件(将改动保存到文件)如:你有两个项目,使用同一个文件,一个项目指定的分隔符是':'​,而另外一个项目指定的分隔符是'​-',​这种情况下就会报错。
 +    * 多线程限制,详见下文。
-    * Do not create large files (hundreds of MBs), especially if you don't have enough RAM. 
-    * Table can not be fully synchronized with file (to save changes to a file) from a few projects with different separators. For instance, you have two different projects. You use the same file in both. But in the first project columns are separated by ';'​ and in the second by '​-'​. An error will occur in this case. 
-    * Restrictions with multithreading see below. 
 +====== ​ ======
-====== ​ ====== 
 +====== 多线程访问同个文件 ======
-====== Multithreaded access to the samefile ======+如果项目运行在多线程模式下(包含同步表格到文件功能),请遵守以下原则避免出错:仅在单个指令中处理表格。例如,你需要取出一行,然后从表格中删除掉。如果你在一个指令中取一行,在另外一个指令中删除就会出错。这实际上在一个指令中可以做到,仅需勾选"​Remove after getting"​。在一个指令中就可以对表格做你想做的任何事。\\ 多个项目读取一个文件不存在任何问题。
 +====== 注意!!! ======
-If you run a project in multi-threading mode (with full synchronization of file with table), then no errors will occur while following a simple rule: handle a table in one action. For example, you need to take a line with removal. It will not be correct, if you take a line in one action and remove it in another one. This can be done in one action - set up tick "​Remove after getting"​. In one action can do almost everything you might need when working with a table.  ​\\ If all projects only read a file, then there won't be any problem at all however would you handle a table.+当使用同步表格到文件功能时(在表格设置中勾选了‘save changes to file’),所有线程将使用同一份数据,所有涉及到对表格数据修改的指令将会被同步,每次将只会有一个线程修改数据。\\
-====== Attention !!! ======+如果不使用同步,每个线程将会操作独立的拷贝。如果你使用了删除行的指令,改变只会在当前线程有效。\\
-When you use sync tables with files ('save changes to file' is checked in table'​s settings), all your threads will use the same data and all actions which will affect changes in table will modify this table for every other thread. ​\\+如果表格很大,确保使用同步功能,否则每个实例都会消耗掉不少内存。\\
-If you don't use sync, every thread will operate with separate copy of initial tableAnd if you will use actions for deleting lines, for example, they will affect only 1 copy of this table within current thread\\+[[http://​www.zennolab.com/​zh/​products/​zennoposter/​pid/​seoget|购买ZennoPoster]]
-If you use huge tables, make sure to use sync with filesOtherwise each instance will use a lot of RAM\\+[[http://​www.zennolab.cn|ZennoPoster中文官方网站]]
zh/table.1346481718.txt.gz · 最后更改: 2015/07/14 15:50 (外部编辑)