【发布时间】:2015-08-27 07:06:20
【问题描述】:
我收到了一个文本文件,其中包含 6 列的一百多行,但我需要的数据位于第 3 列和第 6 列,并将其保存到 csv 文件中。文本文件包含如下内容:
00001 1 01408156 33 0 2014/11/17 15:21:18
00002 1 00000007 33 0 2014/11/17 15:39:59
00003 1 01409179 33 0 2014/11/18 07:39:45
00004 1 01410352 33 0 2014/11/18 07:40:07
00005 1 01404048 33 0 2014/11/18 07:40:12
00006 1 01411402 33 0 2014/11/18 07:40:30
00007 1 01409227 33 0 2014/11/18 07:40:34
00008 1 01410323 33 0 2014/11/18 07:40:43
00009 1 01409242 33 0 2014/11/18 07:40:46
00010 1 01010042 33 0 2014/11/18 07:40:49
00011 1 01409192 33 0 2014/11/18 07:40:53
00012 1 01409192 33 0 2014/11/18 07:40:56
00013 1 01409171 33 0 2014/11/18 07:41:21
00014 1 01403005 33 0 2014/11/18 07:41:34
00015 1 01010205 33 0 2014/11/18 07:42:00
00016 1 01411465 33 0 2014/11/18 07:42:07
00017 1 01411381 33 0 2014/11/18 07:42:13
00018 1 01403018 33 0 2014/11/18 07:42:20
00019 1 01411447 33 0 2014/11/18 07:42:24
00020 1 01410308 33 0 2014/11/18 07:42:31
00021 1 01411381 33 0 2014/11/18 07:42:36
00022 1 01411427 33 0 2014/11/18 07:43:15
00023 1 01404029 33 0 2014/11/18 07:43:28
00024 1 01411452 33 0 2014/11/18 07:43:58
00025 1 01404061 33 0 2014/11/18 07:44:07
00026 1 01409278 33 0 2014/11/18 07:44:11
00027 1 01409266 33 0 2014/11/18 07:44:17
00028 1 01404113 33 0 2014/11/18 07:44:21
顺便说一句,文本文件来自记录上述以下数据的生物识别指纹机。任何帮助,将不胜感激。提前致谢。
编辑:
我尝试了这段代码,但是当我尝试提取必要的数据时,我得到了一个偏移错误:
if (file_exists($myFile))
{
$fileContent = file($myFile);
foreach($fileContent as $line_num => $line) {
{
$data = explode(", ", $line);
$fileUsername[] = trim($data[0]);
$filePassword[] = trim($data[1]);
}
}
这是我成功提取所需数据但我想分解最后一列以将日期与时间分开的代码:
$file=fopen("D:/Documents/My Documents/GLG_001_12215C.txt","r");
$i=0;
$line=array();
while(($data=fgetcsv($file,1000,"\t"))!==FALSE){
if($i>0){
$data[0]="";
$data[1]="";
$data[3]="";
$data[4]="";
$data[5]="";
unset($data[0],$data[1],$data[3],$data[4],$data[5]);
$line[]=$data;
}
$i++;
//print_r(array_values($data));
}
fclose($file);
//array_shift($line);
$converted=fopen("C:/xampp/htdocs/HRMS/temprec.txt","w");
foreach($line as $li){
fputcsv($converted,$li);
//print_r(array_values($li));
}
fclose($converted);
echo "import successful";
【问题讨论】:
-
到目前为止你做了什么?请发布一些代码并向我们展示您的尝试,以帮助我们帮助您。你不应该为此需要 PHP,也许你可以使用 bash 脚本?
-
我是 php 新手,我尝试将其转换为数组,但无法提取所需的数据,也无法将其保存到 csv 文件中。
-
使用您目前使用的代码编辑您的答案。尝试将文本转换为数组是一个好的开始!