python处理excel数据也是经常需要用到的。 这里使用的包是openpyxl import openpyxl excel_name = 't1.xlsx' wb = openpyxl.load_workbook(excel_name) ws = wb.active print(ws.cell(row=1, column=1).value) # or print(ws.cell(1, 1).value) 这里就会打印第一行第一列的那个值,即A1处的值。 openpyxl的好处是,它会用excel的结构来对待表格数据。如上面代码所示,ws就是从excel里获取到的结构化数据。这个结构化数据 Python在处理Excel数据时,经常会使用到开源库`openpyxl`。`openpyxl`是一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm 文件的库,支持Python 3.x。它允许程序员以高效且灵活的方式处理Excel文件,而无需依赖Microsoft Office。 在Python中,读取Excel文件的第一步是导入`openpyxl`库,然后使用`load_workbook`函数加载工作簿(Workbook)。以下是一个简单的示例: ```python import openpyxl excel_name = 't1.xlsx' wb = openpyxl.load_workbook(excel_name) ``` `wb` 是一个Workbook对象,包含了Excel文件中的所有工作表(Sheet)。你可以通过索引来访问特定的工作表,或者使用工作表的名字。例如,`wb.active` 返回当前活动的工作表,这通常是你打开Excel文件时看到的第一个工作表。 ```python ws = wb.active ``` `ws` 是一个Worksheet对象,代表了Excel的一个工作表。你可以通过`ws.cell(row, column)` 或 `ws['A1']` 访问工作表中的单元格。其中,`row` 和 `column` 分别是行号和列号,从1开始计数;`'A1'` 是单元格的引用,表示第一行第一列。 例如,要获取第一行第一列(A1)的值,可以这样写: ```python print(ws.cell(row=1, column=1).value) # 或者 print(ws['A1'].value) ``` 遍历整个Excel文件,获取某一列或某一行的数据,通常需要使用`for`循环。例如,要打印出第一列的所有值: ```python for r in range(ws.max_row): print(ws.cell(r+1, 1).value) ``` 这里注意,由于Python索引从0开始,而Excel的行和列从1开始,所以我们在`range(ws.max_row)`中使用`r+1`来确保与Excel的行号对应。 为了将Excel的一列或一行转换为Python列表,可以编写一个自定义函数。以下是一个示例函数,它根据输入的行号`r`和列号`c`返回对应数据: ```python def read_excel_by_rc(ws, r=-1, c=-1): ls = [] if r == -1 and c == -1: # 如果没有指定行和列,则返回整个工作表的值 for r in range(ws.max_row): for c in range(ws.max_column): ls.append(ws.cell(r+1, c+1).value) elif r > 0 and c == -1: # 指定了行,未指定列,返回指定行的所有列 for c in range(ws.max_column): ls.append(ws.cell(r, c+1).value) elif r == -1 and c > 0: # 未指定行,指定了列,返回指定列的所有行 for r in range(ws.max_row): ls.append(ws.cell(r+1, c).value) else: print('please input right (r, c) pair!') return ls print(read_excel_by_rc(ws, r=1)) # 打印第一行 print(read_excel_by_rc(ws, c=3)) # 打印第三列 ``` 这个函数会根据传入的行号和列号返回对应的列表,如果没有提供行号和列号,它会返回整个工作表的内容。 `openpyxl`还提供了其他高级功能,如修改单元格的值、设置单元格格式、处理公式、读取/写入样式等。它使得在Python中进行复杂的Excel操作变得非常方便,无论是数据分析、自动化报告,还是数据导入导出,都能发挥重要作用。了解并熟练掌握`openpyxl`库,对于处理Excel文件的Python开发者来说是至关重要的。


















- 粉丝: 11
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源


