Post History
To automate any data manipulation task you need two things: Access to the metadata or pattern in the source data that you want to act on. The ability to change the metadata or data of the source...
Answer
#4: Attribution notice removed
Source: https://writers.stackexchange.com/a/33499 License name: CC BY-SA 3.0 License URL: https://creativecommons.org/licenses/by-sa/3.0/
#3: Attribution notice added
Source: https://writers.stackexchange.com/a/33499 License name: CC BY-SA 3.0 License URL: https://creativecommons.org/licenses/by-sa/3.0/
#2: Initial revision
To automate any data manipulation task you need two things: - Access to the metadata or pattern in the source data that you want to act on. - The ability to change the metadata or data of the source in such a way that you don't corrupt the file or make it unreadable. The reason that so many systems that want to permit high levels of automation use XML as a file format is that the XML format is designed to facilitate these two operations. (For example, the fact that an XML does not use pointers or fixed-sized structures means you can update its content without having to update other data in the file.) There are also many good well-tested tools for manipulating XML, both for accessing metadata and patterns in the file and for updating the files without corrupting them. Since you have a system with multiple file formats you want to automate, you either need a tool that can access and manipulate all of those file formats, or you need multiple tools. Most programming languages, of course, will allow you to access or update just about any file, but, outside of libraries for addressing specific formats, they also leave it entirely up to you to decipher how to read and write those file formats and that can be very non-trivial. Python is a great choice if you go this route, but consider that unless you can find libraries for manipulating all the file formats you use, it is going to be a lot of work to get your automation working reliably, and that an update in any of the file formats involved could break it. So, the answer is that you probably need various tools. But then, of course, you run into the issue that you have to integrate the running and the exchange of information between those tools. What all this says is that if you want a high level of automation, your best route may not be to go looking for tools to automate tasks on all the formats you use now, but to go looking for a format or formats that already have great automation features or that were designed to be easy to manipulate. And that search is probably (though not certainly) going to lead you to XML.