我需要帮助转换此.csv文件:
a;a1;1;0;1
b;b1;1;0;0
进入此输出:
a;a1;1;
a;a1;0;
a;a1;1;
b;b1;1;
b;b1;0;
b;b1;0;
然后将输出插入数据库中的特定表中。 (我有一个脚本可以正常工作。)
关于它应该如何运作的逻辑:
计算列数(在这种情况下,从第3列到第1行。必须有一个描述从哪个列开始计算的var);
计算行数... 有一个foreach循环来爆炸数据并将其设置为数组
$i=0
foreach($lines as $value) {
$data[$i] = explode(";", $value);
<...>
$i++;
}
count($data);
获取行数
sizeof($data[0]);
获取列数
现在由于我缺乏PHP知识,我有点卡在这里。
答案 0 :(得分:0)
您需要做的是,对于每一行,array_splice
前两个元素,然后遍历其余元素。
这样的事情:
$data = array();
foreach($lines as $value) {
$value = explode(";", $value);
$first = array_splice($value, 0, 2);
foreach($value as $x){
$row = $first;
$row[] = $x;
$data[] = implode(';', $row);
}
}