Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 行不';不要遵循特定的模式,可能会有所不同_Java_Excel_Matlab_Json - Fatal编程技术网

Java 行不';不要遵循特定的模式,可能会有所不同

Java 行不';不要遵循特定的模式,可能会有所不同,java,excel,matlab,json,Java,Excel,Matlab,Json,我在文本文档中有数据,其中一些行的参数(没有特定顺序)比其他行多。数据中大约有90个参数 e、 g 前100行有4个参数,如: {“A”:1.675,“B”:21.8,“C”:34,“D”:63} 现在,第150-200行有6个参数,如: {“A”:1.675,“B”:21.8,“C”:34,“D”:63,“E”:34,“F”:87} 然后,第200-250行再次与前100行相似 第350-400行之间的某个地方又有6个参数,但格式不同,如: {“A”:1.675,“B”:21.8,“C”:34

我在文本文档中有数据,其中一些行的参数(没有特定顺序)比其他行多。数据中大约有90个参数

e、 g 前100行有4个参数,如:

{“A”:1.675,“B”:21.8,“C”:34,“D”:63}

现在,第150-200行有6个参数,如:

{“A”:1.675,“B”:21.8,“C”:34,“D”:63,“E”:34,“F”:87}

然后,第200-250行再次与前100行相似 第350-400行之间的某个地方又有6个参数,但格式不同,如:

{“A”:1.675,“B”:21.8,“C”:34,“F”:63,“E”:34,“D”:87}

我希望数据得到处理,并显示为:

以下是数据的外观:


我希望程序读取每一行,并将其放在适当的列中。我只知道java、excel和matlab。

您的文件似乎是以格式编写的(有关更多信息,请参阅)

您可以使用matlab解析文件:


所有数据都应该是结构
out
,字段对应于列名

请张贴您尝试过的代码,如果您还没有这样做,请阅读如何创建。什么程序?如果不提供一些迹象表明您存在编程编码问题(例如,某些代码不工作),而不是要求提供代码编写服务,那么您很可能会得到负面响应。欢迎使用堆栈溢出!欢迎来到堆栈溢出!为了解决这个问题,你能在内容中有一个更好的标题和更详细的信息吗?
{"total_gas":0.0,"hook_load":9.7,"mud_flow_in":0.0,"pump_spm_total":0.0,"svy_azimuth":171.8872648725456,"pit_volume_8":0.0,"gain_loss":0.3,"pit_volume_7":0.0,"pit_volume_6":0.0,"block_height":114.9,"pit_volume_5":0.0,"pit_volume_4":0.0,"pit_volume_3":0.0,"pit_volume_2":0.0,"drill_hardness":0.0,"pit_volume_1":0.0,"strks_pump_3":0.0,"weight_on_bit":0.0,"strks_pump_1":0.0,"strks_pump_2":0.0,"standpipe_pressure":0.0,"mud_flow_out":0.0,"state":"InSlips","svy_depth":0.0,"mud_volume":484.1,"rotary_rpm":0.0,"strks_total":0.0,"hole_depth":0.0,"pump_spm_3":0.0,"pump_spm_2":0.0,"rop_fast":0.0,"pump_spm_1":0.0,"mud_temp_in":0.0,"svy_inclination":229.18301983006077,"mud_temp_out":0.0,"rotary_torque":0.006,"gamma_ray":0.0,"diff_press":0.0,"bit_depth":0.0,"rop_average":0.0}~{}
fid = fopen('/path/to/file');
line = fgetl(fid);
out = struct();
while ischar(line)
    res = regexp(line, '\{([^\}]+)\}','tokens','once');  %// remove {} from line
    if isempty(res)
       continue;  %// empty line?
    end
    res2 = regexp(res{1},'"([^"]+)"\s*:\s*([^,]+),?', 'tokens');  %// get the key-value pairs
    for ii=1:numel(res2)
        if isfield(out, res2{ii}{1})
           out.(res2{ii}{1}){end+1} = str2double(res2{ii}{2});
        else
           out.(res2{ii}{1}) = {str2double(res2{ii}{2})};
        end
    end
    line = fgetl(fid);
end
fclose(fid);