I have some data that I'd like to save in an excel file. How does one do this in python?
4 Answers
There's a great python module called XLWT. I'd recommend using that... it writes native Excel files instead of CSVs. Supports formulas, etc too.
Documentation (borrowed from Mark)
Comments
I'll answer a slightly different question: "How can I write data so that Excel can read it?"
Use the csv module to write your data as a .csv file, and then open it in Excel.
import csv
csvout = csv.writer(open("mydata.csv", "wb"))
csvout.writerow(("Country", "Year"))
for coutry, year in my_data_iterable():
csvout.writerow((country, year))
2 Comments
Piskvor left the building
Note: this works, but in some locales (particularly where the decimal comma ',' is used instead of the decimal dot '.'), you'll need to use different separators (semicolons, for example).
Fred Larson
@Poskvor: Maybe you know this, but I'll state it for the general good. The delimiter can be changed by using a Dialect. See docs.python.org/library/csv.html
if it's running on windows, try creating an instance of EXCEL.APPLICATION via COM
Use Excel Help for the object reference.
This way you can even format the data, write formulas, etc.
2 Comments
Alex
I assumed it is installed, because the question was explicit about Excel.
Anonymous Type
yeah but the question was about an excel file, not using the excel application.