\(\renewcommand\AA{\unicode{x212B}}\)
Table of Contents
Name | Direction | Type | Default | Description |
---|---|---|---|---|
InputWorkspace | Input | Workspace | Mandatory | The name of the workspace containing the data you want to save to a Ascii file. |
Filename | Input | string | Mandatory | The filename of the output Ascii file. Allowed extensions: [‘.dat’, ‘.txt’, ‘.csv’] |
WorkspaceIndexMin | Input | number | Optional | The starting workspace index. Ignored for Table Workspaces. |
WorkspaceIndexMax | Input | number | Optional | The ending workspace index. Ignored for Table Workspaces. |
SpectrumList | Input | int list | List of workspace indices to save. Ignored for Table Workspaces. | |
Precision | Input | number | Optional | Precision of output double values. |
ScientificFormat | Input | boolean | False | If true, the values will be written to the file in scientific notation. |
WriteXError | Input | boolean | False | If true, the error on X will be written as the fourth column. Ignored for Table Workspaces. |
WriteSpectrumID | Input | boolean | True | If false, the spectrum No will not be written for single-spectrum workspaces. It is always written for workspaces with multiple spectra, unless spectrum axis value is written. Ignored for Table Workspaces. |
CommentIndicator | Input | string | # | Character(s) to put in front of comment lines. |
Separator | Input | string | CSV | The separator between data columns in the data file. The possible values are “CSV”, “Tab”, “Space”, “SemiColon”, “Colon” or “UserDefined”. Allowed values: [‘CSV’, ‘Tab’, ‘Space’, ‘Colon’, ‘SemiColon’, ‘UserDefined’] |
CustomSeparator | Input | string | If present, will override any specified choice given to Separator. | |
ColumnHeader | Input | boolean | True | If true, put column headers into file. |
SpectrumMetaData | Input | string | A comma separated list that defines data that describes each spectrum in a workspace. The valid options for this are: SpectrumNumber,Q,Angle. Ignored for Table Workspaces. | |
AppendToFile | Input | boolean | False | If true, don’t overwrite the file. Append to the end of it. |
RaggedWorkspace | Input | boolean | True | If true, ensure that more than one xspectra is used. Ignored for Table Workspaces. |
WriteSpectrumAxisValue | Input | boolean | False | Write the spectrum axis value if requested. Ignored for Table Workspaces. |
The format used differs based on the type of workspace being saved. For a table workspace the data will contain an optional row of column headers, followed by the row values, with each individual column value seperated by the defined seperator.
For a matrix workspace the data are stored in the file in columns: the first column contains the X-values, followed by pairs of Y and E values. Columns are separated by commas. The resulting file can normally be loaded into a workspace by the LoadAscii v2 algorithm.
The algorithm assumes that the workspace has common X values for all spectra (i.e. is not a ragged workspace )
Example - Save a workspace in CSV format
#import the os path libraries for directory functions
import os
# create histogram workspace
dataX1 = [0,1,2,3,4,5,6,7,8,9] # or use dataX1=range(0,10)
dataY1 = [0,1,2,3,4,5,6,7,8] # or use dataY1=range(0,9)
dataE1 = [1,1,1,1,1,1,1,1,1] # or use dataE1=[1]*9
ws1 = CreateWorkspace(dataX1, dataY1, dataE1)
#Create an absolute path by joining the proposed filename to a directory
#os.path.expanduser("~") used in this case returns the home directory of the current user
savefile = os.path.join(os.path.expanduser("~"), "AsciiFile.txt")
# perform the algorithm
SaveAscii(InputWorkspace=ws1,Filename=savefile)
print("File Exists: {}".format(os.path.exists(savefile)))
Output:
File Exists: True
Example - Save a workspace as ASCII with a different delimiter
#import the os path libraries for directory functions
import os
# create histogram workspace
dataX1 = [0,1,2,3,4,5,6,7,8,9] # or use dataX1=range(0,10)
dataY1 = [0,1,2,3,4,5,6,7,8] # or use dataY1=range(0,9)
dataE1 = [1,1,1,1,1,1,1,1,1] # or use dataE1=[1]*9
ws1 = CreateWorkspace(dataX1, dataY1, dataE1)
#Create an absolute path by joining the proposed filename to a directory
#os.path.expanduser("~") used in this case returns the home directory of the current user
savefile = os.path.join(os.path.expanduser("~"), "AsciiFile.txt")
# perform the algorithm
SaveAscii(InputWorkspace=ws1,Filename=savefile,Separator="Space")
print("File Exists: {}".format(os.path.exists(savefile)))
Output:
File Exists: True
Example - Save a workspace as ASCII with a different comment indicator
#import the os path libraries for directory functions
import os
# create histogram workspace
dataX1 = [0,1,2,3,4,5,6,7,8,9] # or use dataX1=range(0,10)
dataY1 = [0,1,2,3,4,5,6,7,8] # or use dataY1=range(0,9)
dataE1 = [1,1,1,1,1,1,1,1,1] # or use dataE1=[1]*9
ws1 = CreateWorkspace(dataX1, dataY1, dataE1)
#Create an absolute path by joining the proposed filename to a directory
#os.path.expanduser("~") used in this case returns the home directory of the current user
savefile = os.path.join(os.path.expanduser("~"), "AsciiFile.txt")
# perform the algorithm
# CommentIndicator can be changed, but when read back in must be specified
SaveAscii(InputWorkspace=ws1,Filename=savefile,CommentIndicator="!")
print("File Exists: {}".format(os.path.exists(savefile)))
Output:
File Exists: True
Categories: AlgorithmIndex | DataHandling\Text
C++ header: SaveAscii2.h (last modified: 2020-08-07)
C++ source: SaveAscii2.cpp (last modified: 2020-04-07)