[英]Read specifc rows and lines from multiple csv and export to one csv file
I receive weekly four csv files from four external sources. 我每周从四个外部来源收到四个csv文件。 The csv files have the same design but contain different data.
csv文件具有相同的设计,但包含不同的数据。 I would like to have specific rows and lines from all four files collected into one csv file.
我想将来自所有四个文件的特定行和行收集到一个csv文件中。
Below is an example of how all four csv files is designed. 下面是所有四个csv文件的设计示例。 I want to read Date, Name and Row5 and Row6 from all four csv files and then all this should be added into one csv file and set up as the 2nd example.
我想从所有四个csv文件中读取日期,名称以及Row5和Row6,然后将所有这些内容添加到一个csv文件中并设置为第二个示例。
How could this be done? 怎么办呢? Within MS Excel as a script or maybe serverside using PHP?
在MS Excel中作为脚本还是在服务器端使用PHP? I have been looking into a solution PHP.
我一直在寻找解决方案的PHP。 But i am not sure if it's even possible using PHP?
但是我不确定是否可以使用PHP?
The delimiters used in the content (row1,row2,row3 etc.) is a comma (,). 内容(row1,row2,row3等)中使用的定界符是逗号(,)。 The top with date and name only uses a colon (:)
日期和名称的顶部仅使用冒号(:)
Date: 24-01-2014
Name: source1
Row1 Row2 Row3 Row4 Row5 Row6 Row7 Row8 Row9
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
ad4213 ad4214 ad4215 ad4216 ad4217 ad4218 ad4219 ad4220 ad4221
2nd example 第二个例子
Row5 Row6 Date Name
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source1
ad4217 ad4218 24-01-2014 source2
ad4218 ad4218 24-01-2014 source2
ad4219 ad4218 24-01-2014 source2
ad4220 ad4218 24-01-2014 source2
ad4221 ad4218 24-01-2014 source2
ad4222 ad4218 24-01-2014 source2
ad4223 ad4218 24-01-2014 source2
ad4224 ad4218 24-01-2014 source2
ad4225 ad4218 24-01-2014 source2
ad4226 ad4218 24-01-2014 source2
ad4227 ad4218 24-01-2014 source2
ad4228 ad4218 24-01-2014 source2
ad4229 ad4218 24-01-2014 source2
ad4230 ad4218 24-01-2014 source2
ad4231 ad4218 24-01-2014 source2
ad4232 ad4218 24-01-2014 source2
ad4217 ad4218 24-01-2014 source3
ad4218 ad4219 24-01-2014 source3
ad4219 ad4220 24-01-2014 source3
ad4220 ad4221 24-01-2014 source3
ad4221 ad4222 24-01-2014 source3
ad4222 ad4223 24-01-2014 source3
ad4223 ad4224 24-01-2014 source3
ad4224 ad4225 24-01-2014 source3
ad4225 ad4226 24-01-2014 source3
ad4226 ad4227 24-01-2014 source3
ad4227 ad4228 24-01-2014 source3
ad4228 ad4229 24-01-2014 source3
ad4229 ad4230 24-01-2014 source3
ad4230 ad4231 24-01-2014 source3
ad4231 ad4232 24-01-2014 source3
ad4232 ad4233 24-01-2014 source3
ad4217 ad4218 24-01-2014 source4
ad4218 ad4219 24-01-2014 source4
ad4219 ad4220 24-01-2014 source4
ad4220 ad4221 24-01-2014 source4
ad4221 ad4222 24-01-2014 source4
ad4222 ad4223 24-01-2014 source4
ad4223 ad4224 24-01-2014 source4
ad4224 ad4225 24-01-2014 source4
ad4225 ad4226 24-01-2014 source4
ad4226 ad4227 24-01-2014 source4
ad4227 ad4228 24-01-2014 source4
ad4228 ad4229 24-01-2014 source4
ad4229 ad4230 24-01-2014 source4
ad4230 ad4231 24-01-2014 source4
ad4231 ad4232 24-01-2014 source4
ad4232 ad4233 24-01-2014 source4
I hope someone here at Stackoverflow have an idea of how this could be done. 我希望Stackoverflow的某人对此有一个想法。
BR Kristian 克里斯蒂安(BR Kristian)
$foo = array( "source1.csv", "source2.csv","source3.csv","source4.csv");
$cont=0;
foreach ($foo as $value) {
$fh = fopen($value, 'r');
if(!$fh) die('File no good!');
$i=0;$j=0;
while (!feof($fh )){
$campo = fgetcsv($fh,4096,";");
if($i < 2)
$dataandsource[$cont][$i]=$campo[1];
elseif($campo[5] != '' && $campo[6]!= ''){
$rowfive[$cont][$j]=$campo[4];
$rowsix[$cont][$j]=$campo[5];
$j++;
}
$i++;
}
unset($rowfive[$cont][0]); //first row is 'row5'
unset($rowsix[$cont][0]); //first row is 'row6'
$cont++;
}
for($x=0;$x< count($foo);$x++)
{
for($y=0;$y <= count($rowfive[$x]);$y++)
{
if($x==0 && $y ==0)
echo "row5 row6 Date Source<br>";
else{
if($rowfive[$x][$y] != '' )
echo $rowfive[$x][$y].";".$rowsix[$x][$y].";".$dataandsource[$x][0].";".$dataandsource[$x][1]."<br>";
}
}
}
i made this code with 4 csv file, with this information: 我用4个csv文件制作了此代码,并提供了以下信息:
Date;24/01/2014;;;;;;;
Name;source1;;;;;;;
Row1; Row2; Row3;Row4; Row5;Row6;Row7;Row8;Row9
ad4213;ad4214;ad4215;ad4216;ad4215;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4217;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4217;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4217;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4217;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4217;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4217;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4217;ad4218;ad4219;ad4220;ad4221
ad4213;ad4214;ad4215;ad4216;ad4215;ad4218;test6;ad4220;ad4221
and the result is something like you want: 结果是您想要的东西:
row5 row6 Date Source
ad4215;ad4218;24/01/2014;source1
ad4217;ad4218;24/01/2014;source1
ad4217;ad4218;24/01/2014;source1
ad4217;ad4218;24/01/2014;source1
ad4217;ad4218;24/01/2014;source1
ad4217;ad4218;24/01/2014;source1
ad4217;ad4218;24/01/2014;source1
ad4217;ad4218;24/01/2014;source1
ad4215;ad4218;24/01/2014;source1
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad4213;ad4221;24/01/2014;source2
ad5555;test6i;24/01/2014;source3
ad5555;test6i;24/01/2014;source3
etc...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.