1 读xlsx
在get_data_from_xlsx()
函数中,将file指向的.xlsx文件读取到data中,并作为返回值。
数据准备,在该tmp.py
文件下,有一个example.xlsx
文件,它的内容为,
读取代码如下(tmp.py
文件内容),
import copy
import lxml
from openpyxl import Workbook
from openpyxl import load_workbook
def get_data_from_xlsx(file: str) -> list[list[str]]:
wb = load_workbook(file)
sheets = wb.worksheets #获取当前所有的sheet
sheet = sheets[0] #只有第1个sheet的信息才有用
data = []
for row in sheet:
row = [x.value for x in row]
data.append(copy.deepcopy(row))
return copy.deepcopy(data)
inputpath = '.\\example.xlsx'
data = get_data_from_xlsx(inputpath)
for row in data:
print(row)
print('程序执行成功!')
代码输出为,
['姓名', '性别', '学号', '班级']
['小明', '男', '001', '一班']
['小军', '男', '002', '一班']
['小红', '女', '003', '一班']
程序执行成功!
2 写xlsx
在write_data_to_xlsx()
函数中,将data中的信息写入到path指向的文件中。
import copy
import lxml
from openpyxl import Workbook
from openpyxl import load_workbook
def write_data_to_xlsx(path: str, data: list[list[str]], head: list[str])->None:
wb = Workbook()
ws = wb.active
ws.append(head)
for row in data:
if not isinstance(row, list): #如果x不是列表类型,则将其变为列表类型
row = [row]
ws.append(row)
wb.save(path)
return
data = [['小明', '男', '001', '一班'], ['小军', '男', '002', '一班'], ['小红', '女', '003', '一班']]
head = ['姓名', '性别', '学号', '班级']
path = '.\\output.xlsx'
write_data_to_xlsx(path, data, head)
print('程序执行成功!')
程序运行结果,
output.xlsx
文件内容为,
创建新工作表的python3代码示例,主要是这个ws = wb.create_sheet(title=sheet_name)
,
def WriteXlsx(path: str, data: list[list[str]], head: str, sheet_name: str)->None:
wb = Workbook()
ws = wb.create_sheet(title=sheet_name) #通过sheet_name创建新工作表
ws.append(head)
for x in data:
#print(f'x = {x})
ws.append(x)
wb.save(path)
return