将文本文件内容导入数据库

时间:2017-09-01 04:44:51

标签: javascript php mysql text

我正在使用传感器单元外场,以本机文本文件的形式吐出数据,并使用预定义的标签创建数据库。 E.G mm,电平,电压。我使用的文本文件非常非结构化,数据位于标题右侧,以分号分隔符分隔。

我想尝试将内容导入数据库,其中每个标头与标签名称匹配,并且值会连续插入到该标签中。我想知道是否有可能的解决方案,或者甚至是一些关于如何实现这一目标的提示?

目前我一直在使用PHP,但还没有达到目标,它是用于这种方法的最佳语言吗?或者javascript会首选吗?

文本文件由分号分隔:

L;MINVi;Min voltage;V;PTi;Processor temperature;C;AVGVi;Average voltage;V;SDB;Network signal dB;dB;WL02;waterlevel 2m;cm;RSSI;Network signal indication;RSSI;OCi;Operating cycle;sec;SCNT;Satellites;;LAT;Latitude;deg;LON;Longitude;deg
S;170427000428;ERR;SERVER_LOGIN;+CME ERROR: Bad or no response from server
S;170427000428;ERR;FTP
S;170427000450;ALARM_SEND_OK
S;170427000510;WDT;GPS
D;170427000510;SCNT;0*T;LAT;0*T;LON;0*T
S;170427000518;ERR;SERVER_LOGIN;+CME ERROR: Bad or no response from server
S;170427000518;ERR;FTP
S;170427000647;ERR;SERVER_LOGIN;+CME ERROR: Bad or no response from server
S;170502171807;POWER_ON;ML-315;V2.7B1
S;170502171807;SYS_START;BHSDemo 5170991
D;170502171817;MINVi;3.66;PTi;25.8;AVGVi;3.71;WL02;2.86*A;OCi;9.95
S;170502171822;WDT;MODEM_INIT
D;170502171823;SDB;0*T;RSSI;0*T
S;170502171823;WDT;Network signal

database table Tag_data Structure

enter image description here

2 个答案:

答案 0 :(得分:0)

你可以这样做

LOAD DATA INFILE '/yourtext.txt' INTO TABLE TABLENAME;

答案 1 :(得分:0)

您的文字很难用它的参数分解每个值,因为每个单词都以;结尾,因此,首先尝试将您的文本文件设为parameter:value;parameter=value;或{ {1}}然后您可以使用此php函数parameter_value;读取此文件的内容,现在$content = file_get_contents("path/text_file_name.txt");变量的值等于文件的整个文本,因此,您可以将此变量拆分为每个$content $splittedcontent = explode(";" , $content);的数组是此数组中的参数,如parameter:value$splittedcontent[0] = parameter0:value0等等,现在您可以使用$splittedcontent[1] = parameter1:value1循环抛出此数组并生成您在数据库中需要什么.. 我希望这会对你有所帮助。