使用Python解析Excel文档

58 投票
6 回答
115314 浏览
提问于 2025-04-17 01:59

我想把Excel文档里的内容解析成Python中的列表。有没有什么Python库可以帮助我做到这一点?这个库里有哪些相关的函数呢?

6 个回答

15

openpyxl 是一个很棒的库,它可以用来读取和写入 2010 年的 xlsx 文件。

下面是一个示例解析代码

from openpyxl import load_workbook
wb = load_workbook('Book1.xlsx')
ws = wb.active
for row in ws.iter_rows():
   for cell in row:
     print cell.value

下面是一个示例写入代码

from openpyxl import Workbook
from openpyxl.utils import get_column_letter

wb = Workbook()

dest_filename = 'empty_book.xlsx'

ws1 = wb.active
ws1.title = "range names"

for row in range(1, 40):
    ws1.append(range(600))
wb.save(filename = dest_filename)

你可以在这里了解更多信息: https://openpyxl.readthedocs.io/en/stable/index.html

28

pandas库提供了一种快速简单的方法来读取Excel文件。如果你的Excel文件主要是一些数据,没有太复杂的内容,这个方法就能很好地工作:

import pandas as pd
ex_data = pd.read_excel('excel_file.xlsx')

它会把数据读取到一个pandas DataFrame中,这样处理数据就方便多了。

如果你想把数据转换成列表,可以使用:

ex_data['column1_name'].values.tolist()

如果你的每个工作表里有多个表格和其他内容,那么你可能需要使用其他库,比如xlrd或openpyxl。

51

如果你想解析Excel文件,最好的选择是使用xlrd这个库。你可以在python-excel.org网站上找到关于xlrd和其他相关的Python Excel库的链接和示例,其中还有一份PDF文档,里面有一些使用xlrd的好例子。当然,在StackOverflow上也有很多关于xlrd的相关问题,可能对你有帮助。

需要注意的是,xlrd库只能处理xls格式的文件(也就是Excel 2003及之前的版本),而不能处理更新的xlsx格式。不过,还有一个更新的库openpyxl可以用来处理xlsx文件,但我自己没有用过。

更新: 根据John的评论,现在xlrd库已经支持xlsxlsx两种文件格式。

希望这对你有帮助。

撰写回答