Python操作Excel文件通常有以下几种方式:
1. 使用`xlrd`库读取Excel文件。
2. 使用`xlwt`库写入Excel文件。
3. 使用`openpyxl`库读取和写入Excel文件。
4. 使用`xlsxwriter`库写入Excel文件。
5. 使用VBA与Python交互。
安装模块
在Python环境中,你可以使用`pip`来安装这些库:
pip install xlrdpip install xlwtpip install openpyxlpip install xlsxwriter
读取Excel文件
使用`xlrd`读取Excel文件的示例代码:
import xlrd打开Excel文件workbook = xlrd.open_workbook('example.xls')获取所有sheet名称sheet_names = workbook.sheet_names()选择一个sheetsheet = workbook.sheet_by_name(sheet_names)获取行数和列数nrows, ncols = sheet.nrows, sheet.ncols读取特定行和列的数据rows = sheet.row_values(3)cols = sheet.col_values(2)print(rows)print(cols)
写入Excel文件
使用`xlwt`写入Excel文件的示例代码:
import xlwt创建一个新的Excel文件wb = xlwt.Workbook()添加一个工作表sheet = wb.add_sheet('Sheet1')写入数据sheet.write(0, 1, 'Test Text')保存文件wb.save('test.xls')
使用`openpyxl`读取和写入Excel文件
读取Excel文件的示例代码:
from openpyxl import load_workbook打开Excel文件workbook = load_workbook('example.xlsx')获取所有sheet名称sheet_names = workbook.sheetnames选择一个sheetsheet = workbook.worksheets[sheet_names]获取行数和列数nrows, ncols = sheet.max_row, sheet.max_column读取特定行和列的数据rows = sheet.rowscols = sheet.columnsfor row in rows:print(row.value)
写入Excel文件的示例代码:
from openpyxl import Workbook创建一个新的Excel文件wb = Workbook()添加一个工作表sheet = wb.activesheet.title = 'Sheet1'写入数据sheet['B1'] = 'Test Text'保存文件wb.save('test.xlsx')
使用VBA与Python交互
在Excel中,你可以使用VBA调用Python脚本。首先,确保你已经安装了ExcelPython插件,然后在VBA编辑器中添加以下代码:
Function msu(lists As Range)Set methods = PyModule("Methods", AddPath:=ThisWorkbook.Path)msu = methods.merge_sort_unique(lists)End Function
在Python中,你可以创建一个模块,例如`Methods.py`,包含如下函数:
def merge_sort_unique(lists):s = set()for L in lists:s.update(L)return sorted(s)
这样,你就可以在Excel中通过VBA调用Python函数处理数据了

