This is an old revision of the document!
Beginning in Bizweaver v2.0.170, two File Reader tools are displayed: FileReader and FileReader2. The functions are the same in both tools except for handling XML and JSON files found in FileReader2. While workflows created using FileReader will continue to function, any new workflows should use FileReader2. All references to “FileReader” in this section refer to FileReader2.
The File Reader tool is used to read data from “flat” delimited files and “structured” formats such as XML, JSON, Microsoft Excel. Plain text can also be read with “text reader” as a single string.
The File Reader tool is also used to process data being received from a webservice call. More information on this process can be found in the Webservice Tool page.
File delimiters include:
“Structured” file formats include:
Example showing static file name.
Example showing input from Get File operation
XML (eXtensible Markup Language) and JSON (JavaScript Object Notation) are structured formats commonly used with websites.
The setup for these formats is the same as described for delimited files, with one exception; when either of these formats is the source, the tool has additional functionality to deal with the hierarchy structures often found in these files. The tool “flattens” the data so that it can be used in subsequent processing.
The sample used to explain handling these structures is JSON input returned from a web service call. The data being processed is freight carrier information.
The “Use Null Value” option is used when some records in the input file do not have any data. In these cases, the columns can become “mismatched,” causing problems correctly reading the data. The ”null value” option accounts for these missing values based on the template.
When the input is XML or JSON, a new link named “Select object for formatting the data” is displayed. Click on this link to open a new dialog.
This dialog presents the various data groupings (nodes) in the input structure. Select a combination of checkboxes to “flatten” the data to the selected level.
To get the desired results, you must select all the associated higher-level nodes as well. In the first example, we want just “RateResults”, so the /root level must be selected and/root/RateResults. When this is done, we get the following results:
If we now want to get the “Charges” data, we change the object selector to look like this:
Note that we must include /root and /root/RateResults since “Charges” is a sub-group of /root/RateResults.
With this change, we now see:
The standard functionality of the File Reader tool is to separate different levels of JSON and XML with “_” Underscores. In some cases, especially in JSON files, the “_” is used in a name of a named-value pair. In this case, a different character can be used to separate these levels accurately.
e.g., The below JSON will return two lines due to the “order_number” name-value pair we can correct to display one line as intended.
{
"order": [
{
"id": 12345565677,
"email": "Email@twbs.com",
"closed_at": null,
"created_at": "2020-11-17T19:10:24-05:00",
"updated_at": "2020-11-17T19:10:25-05:00",
"number": 91,
"order_number": 1091
}
]
}
As displayed in the File Reader Tool
To Specify a new character enable the option and input the desired character
Refresh the data in the table and now different levels of the JSON file will be separated with “^”
Effective with v91.1.0.161, Bizweaver can process native Microsoft Excel (.xlsx) files. The only limitation is that only the first worksheet in a workbook is processed. The processing of multiple sheets in a workbook is not supported.
The setup for Excel files is the same as described for delimited files.
The Excel file reader requires that the Microsoft Access Database Runtime engine be installed on the Bizweaver server. Contact Third Wave support to obtain the installation package for this application.
The Text Reader file type is used when the input file needs to be read as a single string of text. The uses for this option are very specialized and limited.
The only input for this function is a file name or workflow variable that identifies the file.
There are several variables from the File Operations tool that can be used in other workflow tools. In the following examples, the file being addressed is named “FileName.txt” and it is found in the folder “C:\SourceFolder”.
| Variable Name | Explanation | Example |
|---|---|---|
| File Name | Full file name including path (folder) | C:\SourceFolder\FileName.txt |
| File Title | The file name including the extension | FileName.txt |
| File Title without Ext | The file name without the extension | FileName |
| File Extension | The file extension including the “.” separator | .txt |
| File Type | File type such as TAB, CSV, etc. | |
| Source Path | Path of the source file | C:\SourceFolder |
| Source File Name | “File” name as defined in a Get Files action | Example: “*FileName.txt” |
| Target Path | Path name from a File Writer operation | C:\TargetFolder |
| Target File Name | “File” name as defined in a File Writer action | Example: “*FileName.txt” |