简单整理了下批量导入/导出Excel的Python和Matlab代码。
Matlab- 连续数字型.xlsx文件(如file_1.xlsx, file_2.xlsx, file_3.xlsx)
clc,clear
% 1.生成文件名称向量file_index
% file_index = {'file_1','file_2','file_3'}
file_index = cell(3,1);
for i = 1:3
file_index{i} = ['file_',num2str(i)];
end
% 2.导入表格file_1.xlsx,file_2.xlsx,file_3.xlsx
% 生成data_1,data_2,data_3
% 此处也可以根据实际需求进行data命名
% 调用eval()函数,将字符串作为变量进行运行
for i = 1:3
file_name = file_index{i};
data_name = ['data_',num2str(i)];
eval([data_name,'= readtable("',file_name,'"+".xlsx");'])
end
% 3.导出数据data_1,data_2,data_3
% 生成doc_1.xlsx,doc_2.xlsx,doc_3.xlsx
% 生成文件名称向量doc_index
% doc_index = {'doc_1','doc_2','doc_3'}
doc_index = cell(3,1);
for i = 1:3
doc_index{i} = ['doc_',num2str(i)];
end
% 导出数据
for i = 1:3
doc_name = [doc_index{i},'.xlsx'];
data_name = ['data_',num2str(i)];
temp = eval(data_name);
writetable(temp,doc_name)
end
- 一般型.xlsx文件(如apple.xlsx, orange.xlsx, banana.xlsx)
% 需要手动添加文件名生成文件名目录向量file_index,其余同上step2~step3
file_index = {'apple','orange','banana'};
% 也可以从已有表格中要导出的文件名所在行列批量提取
Python
- 连续数字型.xlsx文件(如file_1.xlsx, file_2.xlsx, file_3.xlsx)
import pandas as pd
# 1.生成文件名称向量file_index
# file_index = {'file_1','file_2','file_3'}
file_index = [];
for i in range(1,4):
temp = 'file_'+ str(i)
file_index.append(temp)
# 2.导入表格file_1.xlsx,file_2.xlsx,file_3.xlsx
# 生成data_1,data_2,data_3
# 调用exec()函数,功能等同于Matlab的eval()函数
for i in range(0,3):
file_name = file_index[i]
temp = pd.read_excel(file_name+'.xlsx')
exec('data_'+str(i+1)+' = temp')
# 3.导出数据data_1,data_2,data_3
# 生成doc_1.xlsx,doc_2.xlsx,doc_3.xlsx
# 生成文件名称向量doc_index
# doc_index = {'doc_1','doc_2','doc_3'}
doc_index = [];
for i in range(1,4):
temp = 'doc_'+ str(i)
doc_index.append(temp)
# 导出数据
for i in range(0,3):
doc_name = doc_index[i]+'.xlsx'
data_name = 'data_'+str(i+1)
exec('temp ='+ data_name)
temp.to_excel(doc_name)
- 一般型.xlsx文件(如apple.xlsx, orange.xlsx, banana.xlsx)
# 需要手动添加文件名生成文件名目录向量file_index,其余同上step2~step3 file_index = ['apple','orange','banana']



