提取Excel文件里"自定义标签"列里面"key"的内容,"自定义标签"的内容格式:{"key1":"value1","key2":"value2"}
# 安装包:pip install openpyxl xlrd pandas
import pandas as pd
import json
# 读取源 Excel 文件,文件名要和脚本在同一路径下,也可以写文件路径
source_file = '2024-12-23.xls' # 源文件名
output_file = '2024-12-23-filter.xlsx' # 输出文件名
# 指定需要提取的列
columns_to_extract = ['统计日期','工单负责人','工单链接','一级标签','二级标签','三级标签','自定义标签']
# 读取Excel文件
# 对于 .xlsx 文件
# df = pd.read_excel('your_file.xlsx', engine='openpyxl')
# 对于 .xls 文件
df = pd.read_excel(source_file,engine='xlrd')
# 提取所需的列
extracted_data = df[columns_to_extract]
# 将提取的数据写入新的Excel文件
# 第一种写法
extracted_data.to_excel(output_file, index=False)
# 第二种写法
# pd.DataFrame(extracted_data).to_excel(output_file,index=False)
print(f"自定义列已成功提取并保存到 {output_file}")
# 提取Excel文件里"自定义标签"列里面"备注"的内容,"自定义标签"的内容格式:{"key1":"value1","key2":"value2"}
file_path = output_file
# 读取文件
df = pd.read_excel(file_path)
# 处理的列名为 '自定义标签'
column_name = '自定义标签' # 替换为您需要处理的列名
# 需要提取的key
key = "备注"
# 定义一个函数来提取 "备注" 的值
def extract_key(json_str):
try:
json_obj = json.loads(json_str)
return json_obj.get(key, "") # 如果找不到 "备注",则返回空字符串
except (json.JSONDecodeError, TypeError):
return "" # 如果解析失败,则返回空字符串
df[column_name] = df[column_name].apply(extract_key)
# 将结果写回到原来的 Excel 文件
df.to_excel(file_path, index=False)
print("已成功提取'"+key+"'的值,并覆盖原来的"+file_path+"'自定义标签'的列")