Is there a way to; easily, merge data into a CSV (or Excel) file without having to edit each file individually?
You can either load the excel files directly into Python, e.g. using the pandas package, or you can use a package that hits the data where it lives i.e. a package that directly modifies the Excel files.

Python and Pandas

import pandas as pd

data = pd.read_Excel('/path/to/your/file)


Data is basically a table that will look like the Excel itself. You can add fields (usually referred to as columns) like so:

data['new field'] = new_data


new_data will contain all values for all rows in the table, e.g. as a list:

new_data = [12, 24, 13, 66, 72, 45]    # assuming there are 6 rows (a.k.a. samples)


You will have to alter the code for each of your files. You will also need to think about how to get your new data into that list (or a similar construction).

Caveat: this way might have problems if you have some very specific formatting or special Excel features in use (more than just conditional formatting - think dropdown lists and hidden/folded rows and columns).

Excel interface

There are a few good packages that will allow you to speak directly with the excel file and make use of things such as sheets/tabs and references to cells e.g. A1 is the top left cell in Excel.

Have a look at the XlsWriter package or the python-excel package. Both let you access the fill and add/remove data as you please. I have used both for simple tasks and they both got the job done quite nicely.

Follow those links to see some nice examples of how to manipulate Excel programmatically.



It is worth mentioning that the first option above, using something like Pandas, will offer a lot more functionality and would likely not present a steeper learning curve (in my opinion!).