comma 0.5 documentation¶
Although Python, fortuitously, is
on occasion, some of the libraries end up being designed with APIs
that don’t map well to what turns out to be the most common usage
patterns. This is what happened with the various
incredibly powerful, but limiting users by its complexity—it was
problems that the requests library by
@ken-reitz addressed. Indeed,
requests abstracts power beneath simplicity, smart defaults, and
For the CSV format, we are confronted with a similar situation. While both the JSON and YAML formats have packages that provide, one-command means to load content from files in those respective formats to a nested Python object, for the CSV format, the standard library has you use an iterator to access the data. Many details require significant syntax change (for instance the difference between have lists or dictionaries depends on the class that is used to read the file).
Since then, we also have several excellent libraries that, by providing great auto-detection (of dialect, file format, encoding, etc.) allow for hiding many details from the end user.
All this to say, comma will try to do exactly what you want when you do:
import comma data = comma.load("file.csv") data["field"] = "changed value" comma.dump(data, filename="file_modified.csv")