我正在用PHP读取一个CSV文件,我得到了每一行的所有值,但是一些有长数据的列显示类似这样的东西9.21008E+15
我不知道如何获得完整的值这是假设是这个9210080000000000
在PHP中获取一个CSV单元格的完整值
if (($handle = fopen("Test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 0, ",")) !== FALSE) {
$num = count($data);
$tb_row = "";
for ($c=0; $c < $num; $c++) {
$tb_row .= $data[$c].",";
}
$new_row = substr($tb_row, 0, -1);//removing the comma at the end of line...
//explode and assign values then insert
$each_col = explode(',', $new_row);
$Device_state = $each_col[0];
$udid = $each_col[8];
$imsi = $each_col[9];
$imei = $each_col[10];
echo "$imsi || $imei"."<br />";
}
}
不要在Excel中打开? – CD001
PHP没有做任何事情。已经以CSV格式存储为E + 15的值可能会将其打开为excel,并且Excel会自动替换为E + 15尝试将该列转换为Excel中的文本。 –
无论如何,剧本会发生什么样的废话? fgetcsv以数组的形式获取一行的列。从那里,你创建一个字符串,在这里你用逗号分隔每个值 - 然后再用逗号分解它......不仅看起来相当多余,而且它可能会产生可能包含列值的错误列分隔符字符。 – CBroe