Excel 文件编码问题导致读取失败的解决方案
确实,某些情况下,Excel 文件中的编码可能会导致读取文件时出现问题。为了解决这个问题,我们可以尝试在加载 Excel 文件之前设置编码。
以下是修正后的代码,包含设置编码的步骤:
import json
import pandas as pd
from openpyxl import load_workbook
# 定义文件路径
file_paths = ['首次病程记录.xlsx', '出院记录.xlsx', '日常病程记录.xlsx']
# 创建一个空的DataFrame用于存储所有数据
merged_data = pd.DataFrame()
# 遍历每个文件路径
for file_path in file_paths:
# 加载Excel文件并设置编码
wb = load_workbook(filename=file_path, read_only=True, data_only=True, keep_vba=False, keep_links=False)
wb.encoding = 'utf-8'
# 获取第一个工作表
sheet = wb.active
# 获取字段名称
field_names = [cell.value for cell in sheet[1]]
# 将工作表数据加载到DataFrame中
data = pd.DataFrame(sheet.values, columns=field_names)
# 将数据合并到总的DataFrame中
merged_data = pd.concat([merged_data, data], ignore_index=True)
# 选择需要输出的字段
selected_fields = ['就诊流水号', '性别', '入院诊断']
# 选择需要的列
output_data = merged_data[selected_fields]
# 输出为CSV文件
output_data.to_csv('output.csv', index=False)
print("CSV文件输出成功!")
# 输出为JSON文件
output_data_json = output_data.to_json(orient='records')
with open('output.json', 'w', encoding='utf-8') as f:
f.write(output_data_json)
print("JSON文件输出成功!")
在代码中添加了以下两行:
wb.encoding = 'utf-8'
with open('output.json', 'w', encoding='utf-8') as f:
这样可以确保正确地处理文件的编码。
请尝试运行修正后的代码,并验证是否能够成功读取并处理Excel文件。如果问题仍然存在,请提供更多的详细信息,我将尽力帮助你解决问题。
原文地址: https://www.cveoy.top/t/topic/b2Vi 著作权归作者所有。请勿转载和采集!