通过origin一个一个打开opj文件再将其导出为txt文件在文件数量多的时候很麻烦。
想到origin有内置的python也支持外置的python,就想用python去批量化解决文件导出问题。
完成这个小功能用了两天时间,其中感觉origin的API还是较为麻烦,调用时经常报错,包括基础的打开book、sheet等。简单实现了功能,也只能导出opj文件下只有一个sheet的情况,想要读取全部sheet又开始报错,后面就不想再弄下去了。代码如下。
import originpro as op
import os
import pandas as pd
opj_folder = r"opj文件路径" #用两个斜杠分隔
output_folder = r"输出txt文件路径"
# 打开 OriginPro
op.new()
# 确保输出文件夹存在
if not os.path.exists(output_folder):
os.makedirs(output_folder)
# 递归获取文件夹中的所有 .opj 文件
opj_files = []
for root, dirs, files in os.walk(opj_folder):
for file in files:
if file.endswith('.opj'):
opj_files.append(os.path.join(root, file))
for opj_file in opj_files:
try:
# 打开 .opj 文件
op.open(opj_file)
worksheet = op.find_sheet('w', 0)
data = worksheet.to_df()