gpt4 book ai didi

php - 无法正确读取 csv(制表符分隔)

转载 作者:可可西里 更新时间:2023-10-31 22:13:03 24 4
gpt4 key购买 nike

我有一个简单的 csv 文件,它是制表符分隔的,我必须按原样使用它,因为它来自某个地方,我想读取它并将其插入我的数据库我已经使用了一个简单的 php 代码来读取它

if(($handle = fopen("var/import/MMT29DEC.csv","r"))!==FALSE){
/*Skip the first row*/
fgetcsv($handle, 1000,chr(9));
while(($data = fgetcsv($handle,1000,chr(9)))!==FALSE){
print_r($data[0]);
}
}

当 print_r 它显示的数据时

Array ( [0] => 01SATAPC [1] => 40ATAPC [2] => [3] => 21P [4] => SERIAL ATA POWER CABLE [5] => 0.00 [6] => 2.00 [7] => 0 [8] => Power Supplies [9] => SERIAL ATA POWER CABLE [10] =>
4 TO 15 PIN 160MM
[11] => [12] => [13] => [14] => MELBHO [15] => 0.000 [16] => [17] => Order to Order [18] => 4 [19] => 2013-01-18 )

这是期望的结果,但是当我使用 $data['index'] 访问特定列值时,例如$data[8] 或 $data[1] 它奇怪地给我垃圾值说对于一些迭代它给了我正确的值但是在 10-15 行之后它开始给我一些数字和其他列值.....我不据我所知这应该是格式问题我不知道这是怎么回事我已经尝试在 excel 中打开文件并且它会很好....

最佳答案

@ravisoni 你确定 fgetcsv 的第二个参数 1000 比文件中最长的行长吗?尝试将其设置为 0,如文档所述 [php.net/fgetcsv] 并查看是否有所不同。

if(($handle = fopen("var/import/MMT29DEC.csv","r"))!==FALSE){
/*Skip the first row*/
fgetcsv($handle, 0,chr(9));
while(($data = fgetcsv($handle,0,chr(9)))!==FALSE){
print_r($data[0]);
}
}

关于php - 无法正确读取 csv(制表符分隔),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14101846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com