Matlab load&解压缩2.gz文件

时间:2017-09-21 18:31:20

标签: sql matlab gzip gz

我对Matlab相对较新,我正在加载.gz文件并解压缩以将其推入SQL数据库。

它调用以某种方式建立连接的函数 - 它起作用(jd.conn等),但奇怪的部分是我得到的:

  

索引矩阵参考不正确

当我按下循环时。

    clear; 
    clc; 
    %% Connection 
    run('/C:/connect/connect_to_sql'); 
    load('/C:/connect/configuration.mat'); 
    global configuration 

    filepath = '/home/C:/folder/'; 
    homeDir = cd(filepath); 
    addpath(homeDir); 
    filenames = dir('*.gz'); 

    //LOOP STARTS HERE
    for i = 1:size(filenames,1) 
        filenames = strrep(filenames(i).name, '*.gz', ''); 
        [insert_query, transfer_query] = create_query(filenames);     
        gunzip(filenames(i).name); 
        query(jd.conn, insert_query); 
        query(jd.conn, transfer_query); 
    end 

    cd(homeDir); 
    disp('Reference files loaded.');

1 个答案:

答案 0 :(得分:0)

评论中提到了可能的错误来源:您立即覆盖变量filenames,并且可能在*参数中有额外的strrep

假设您只想从filenames(i).name删除文件扩展名并将其传递给create_query,您可以使用fileparts(并将结果存储在新变量中)来执行此操作:< / p>

for i = 1:size(filenames,1) 
    [~, queryName, ~] = fileparts(filenames(i).name); 
    [insert_query, transfer_query] = create_query(queryName);
    ...