用Python读取/parsingExcel(xls)文件
用Python(而不是CSV文件)读取Excel(XLS)文件的最佳方法是什么?
有没有一个内置的软件包在Python中默认支持这个任务?
我强烈推荐xlrd读取.xls
文件。
旅行者提到使用COM自动化。 几年前我自己做了这个,被警告说这样做是一个真正的PITA。 注意事项的数量是巨大的,文件是缺乏和烦人的。 我遇到了很多奇怪的bug和疑难杂症,其中有些花了好几个小时才弄清楚。
更新:对于较新的.xlsx
文件,推荐的用于读写的库似乎是openpyxl 。
使用pandas:
import pandas as pd xls = pd.ExcelFile("yourfilename.xls") sheetX = xls.parse(2) #2 is the sheet number var1 = sheetX['ColumnName'] print(var1[1]) #1 is the row number...
python xlrd库可以更好的解决这个问题
import xlrd
打开工作簿
workbook = xlrd.open_workbook('your_file_name.xlsx')
按名称打开表格
worksheet = workbook.sheet_by_name('Name of the Sheet')
按索引打开表格
worksheet = workbook.sheet_by_index(0)
读取单元格值
sheet.cell(0, 0).value
您可以使用此处列出的任何库(如基于JExcelApi或xlwt的Pyxlreader )以及COM自动化来使用Excel本身来读取文件,但是为此,您将Office作为软件的依赖项引入,这可能不总是一个选项。
你也可以考虑运行(非python)程序xls2csv。 喂它一个xls文件,你应该得到一个csv。
对于较旧的Excel文件,可以使用OleFileIO_PL模块读取所使用的OLE结构化存储格式。
Python Excelerator也可以处理这个任务。 http://ghantoos.org/2007/10/25/python-pyexcelerator-small-howto/
它也可以在Debian和Ubuntu中使用:
sudo apt-get install python-excelerator