I would like to write a program to automate several simulations from LTSpice and post-process the resulting .raw file data.
Is there a document that is available the describes the LTSpice .raw data file format?
You can use LTspiceXVII in batch mode. See the help pages: Modes of Operation -> Command Line Switches
When you then use the option -ascii, you will get a raw-file formatted in ASCII-text. This would be the easiest way. It's suitable if you have not too much data points. I remember a colleague who told me that he read the ASCII raw-file with Python for further processing.
The raw-format is not officially disclosed, but everybody can explore it with a hex editor. In principle the format could change at some day, but it's practically the same since at least 15 years.
Example for .TRAN The time is in double, the voltage and current values are in float. If double precision is forced by .options numdgt=10 (any number >6), then the voltage and current values are stored in double too. Are you aware that the header of the raw-file is in 16bit unicode?
..........Variables: 0 time time 1 V(a) voltage 2 I(R1) device_current 3 I(V1) device_currentBinary:double float float float double float float float double ........
If you work with Matlab, you could use an available Matlab-script for reading the raw-file.There is also a small program ltsputil.exe to convert a raw-file into a text-file.
I just tried a search with Google: ltspice raw-file format
I got a lot of results from other LTspice-users who have already written programs in Matlab and Python to read data from raw-files. This could save you a lot of time. Please try a search with Google.