以下代码实现对excel文件的打开、关闭、读、写、删除
import os
import openpyxl
# 定义一个函数来处理单个Excel文件
def process_excel(file_path):
# 打开 Excel 文件
wb = openpyxl.load_workbook(file_path)
# 获取所有工作表的名称
#sheet_names = wb.sheetnames
# 遍历所有工作表
#for sheet_name in sheet_names:
# 选择当前工作表
#worksheet = wb[sheet_name]
# 选择特定的工作表
sheet = wb['Sheet1']
# 读取第一行第一列的单元格内容
cell_value = sheet.cell(row=1, column=1).value
# 判断单元格内容是否为"name"
if cell_value == "name":
# 添加一列
sheet.insert_cols(2) # 在第二列插入新列
# 在新列的第一个单元格写入标题名
sheet.cell(row=1, column=2, value='hex_value')
# 遍历每行
for row in sheet.iter_rows(min_row=2, max_row=sheet.max_row):#第一行是标题从第二行开始遍历
cell_value = row[0].value # 获取数值列的值
if cell_value is not None:
hex_value = hex(cell_value) # 将数值转换成十六进制
int_hex_value = int(hex_value,16)
row[1].value = int_hex_value & 0xFF #将值写入第二列
# 保存修改后的工作簿
file_name, file_extension = os.path.splitext(os.path.basename(file_path))
file_directory = os.path.dirname(file_path)
new_file_name = file_name + "_process.xlsx"
new_file_path = os.path.join(file_directory, new_file_name)
wb.save(new_file_path)
print(new_file_path+ " saved")
# 关闭工作簿
wb.close()
# 遍历目录下的所有文件
print("*********************Python:解析excel数据*********************")
print("说明:解析信息另存为同名文件_process.xlsx文件中")
directory = input('请输入文件路径:')
#directory = './data' # 替换成你要遍历的目录路径
for root, dirs, files in os.walk(directory):
for file in files:
if file.endswith('.xlsx'):
file_path = os.path.join(root, file)
print(file_path + " processing...")
process_excel(file_path)
os.system('echo 任意键退出...')
os.system('pause>nul')