解决Python XLRDError:不支持Excel xlsx文件
解决 Python 中 'xlrd.biffh.XLRDError: Excel xlsx file; not supported' 错误
如果你在使用 xlrd 库读取 .xlsx 文件时遇到 'xlrd.biffh.XLRDError: Excel xlsx file; not supported' 错误,这意味着 xlrd 库本身对 .xlsx 文件的支持有限。
为了解决这个问题,你可以使用 openpyxl 库,它专门用于处理 .xlsx 文件。
使用 openpyxl 读取 .xlsx 文件
以下是使用 openpyxl 库读取 .xlsx 文件并进行数据处理的 Python 代码示例:pythonimport jsonimport pandas as pdfrom openpyxl import load_workbook
定义文件路径和字段名称file_paths = ['首次病程记录.xlsx', '出院记录.xlsx', '日常病程记录.xlsx']id_field_name = '就诊流水号'
创建一个空的DataFrame用于存储所有数据merged_data = pd.DataFrame()
遍历每个文件路径for file_path in file_paths: # 加载Excel文件 wb = load_workbook(filename=file_path) # 获取第一个工作表 sheet = wb.active
# 将工作表数据加载到DataFrame中 data = pd.DataFrame(sheet.values, columns=sheet[1]) # 将数据合并到总的DataFrame中 merged_data = merged_data.merge(data, on=id_field_name, how='outer')
选择需要输出的字段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') as f: f.write(output_data_json)print('JSON文件输出成功!')
这段代码首先使用 openpyxl.load_workbook() 函数加载 .xlsx 文件,然后使用 pandas 库进行数据处理。
请确保你已经使用 pip install openpyxl 命令安装了 openpyxl 库。
原文地址: http://www.cveoy.top/t/topic/b0DN 著作权归作者所有。请勿转载和采集!