python excel 封装
时间: 2023-07-03 07:05:35 浏览: 104
Python中有很多可以用来操作Excel文件的库,比如:
1. openpyxl:一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。
2. xlrd和xlwt:分别用于读取和写入Excel文件的Python库。xlrd支持Excel 2003以前的xls文件。
3. pandas:一个数据处理库,包含了读写Excel文件的方法。可以读取Excel文件的多个工作表并将其转换为DataFrame对象,也可以将DataFrame对象写入Excel文件。
下面是一个使用openpyxl库实现写入Excel文件的例子:
```python
from openpyxl import Workbook
wb = Workbook() # 创建一个工作簿
ws = wb.active # 获取当前活动的工作表
# 写入数据
ws['A1'] = '姓名'
ws['B1'] = '年龄'
ws['C1'] = '性别'
ws.append(['张三', 18, '男'])
ws.append(['李四', 20, '女'])
ws.append(['王五', 22, '女'])
# 保存工作簿
wb.save('example.xlsx')
```
这里我们使用了openpyxl库创建了一个工作簿,并在其中创建了一个工作表。然后使用append方法向工作表中逐行写入数据,并最终保存工作簿到本地文件example.xlsx中。
相关问题
python封装读取excel
以下是Python中读取Excel文件的封装函数示例:
```python
import xlrd
def read_excel(file_path):
# 打开Excel文件
workbook = xlrd.open_workbook(file_path)
# 获取所有sheet名称
sheet_names = workbook.sheet_names()
# 循环遍历sheet
for sheet_name in sheet_names:
# 获取sheet
sheet = workbook.sheet_by_name(sheet_name)
# 获取行数和列数
rows = sheet.nrows
cols = sheet.ncols
# 循环遍历每一行
for row in range(rows):
# 循环遍历每一列
for col in range(cols):
# 获取单元格的值
cell_value = sheet.cell_value(row, col)
# 打印单元格的值
print(cell_value)
# 调用函数
file_path = 'test.xlsx'
read_excel(file_path)
```
该函数使用xlrd模块来读取Excel文件中的数据。它首先打开Excel文件,然后获取所有sheet的名称。接下来,它循环遍历每个sheet,获取行数和列数,然后循环遍历每一行和每一列,获取每个单元格的值,并打印出来。
pythonexcel文件读写操作类封装
以下是一个简单的 Python Excel 文件读写操作的类封装示例:
```python
import pandas as pd
class ExcelFile:
def __init__(self, file_path):
self.file_path = file_path
self.data = None
# 读取 Excel 文件
def read_file(self):
try:
# 使用 pandas 库读取 Excel 文件
self.data = pd.read_excel(self.file_path)
except FileNotFoundError:
print(f"File {self.file_path} not found.")
# 写入 Excel 文件
def write_file(self):
try:
# 将数据写入到 Excel 文件中
writer = pd.ExcelWriter(self.file_path)
self.data.to_excel(writer, index=False)
writer.save()
print(f"File {self.file_path} saved successfully.")
except:
print(f"Failed to save file {self.file_path}.")
# 测试代码
if __name__ == "__main__":
# 创建 ExcelFile 对象
excel_file = ExcelFile("example.xlsx")
# 读取 Excel 文件
excel_file.read_file()
if excel_file.data is not None:
print(excel_file.data)
# 写入 Excel 文件
new_data = {"Name": ["John", "Mary", "Peter"], "Age": [30, 25, 40]}
df = pd.DataFrame(new_data)
excel_file.data = df
excel_file.write_file()
```
在这个示例中,我们定义了一个名为 `ExcelFile` 的类,这个类封装了 Excel 文件的读取和写入操作。在初始化函数中,我们传入一个文件路径,并将其保存为类的属性。`read_file` 函数尝试读取这个文件,并将读取到的数据保存为类的属性。`write_file` 函数将类的属性中的数据写入到对应的文件中。
在测试代码中,我们首先创建一个 `ExcelFile` 对象,并调用 `read_file` 函数来读取一个名为 `example.xlsx` 的 Excel 文件,并将读取到的数据输出到控制台。然后我们创建一个新的 DataFrame 对象,并将其保存为 `ExcelFile` 对象的属性,最后调用 `write_file` 函数将这个 DataFrame 中的数据写入到一个名为 `example.xlsx` 的 Excel 文件中。
阅读全文
相关推荐















