繁体   English   中英

如何使用PHP读取单列多行CSV文件作为数组

[英]How to read single column multiple rows csv file as an array using php

我有我的csv文件具有url的要求,我需要将其读取为数组.csv文件具有单列且具有无标题的多行。我正在使用以下代码阅读。但是它没有返回我需要的输出。

$handle = fopen($this->local_temp_folder.$file, 'r');
        if(!$handle)
        {
            Model_Log::error('Cannot open uploaded file.');
            die('Cannot open uploaded file.');
        }

    while (($data = fgetcsv($handle)) !== FALSE)
    {
    $num = count($data);
    for ($c=0; $c < $num; $c++) {
        $url_array[$c] = $data[$c];
    }
    } 


print_r($url_array);exit;
Array
(
    [0] => http://www.test.com/Fo/Finder/Digital_C/
http://www.test.com/Fo/Finder/orders/HighD/R56/
)
But i want it like the array as follows
Array
(
    [0] => http://www.test.com/Fo/Finder/Digital_C/
    [1] => http://www.test.com/Fo/Finder/orders/HighD/R56/
)

我已经用记事本检查了csv文件。在记事本中,它看起来像是http://www.test.com/Fo/Finder/Digital_C/http://www.test.com/Fo/Finder/orders/HighD / R56 /但是当我用excel打开时,它显示为两行。

$handle = fopen($this->local_temp_folder.$file, 'r');
if(!$handle)
{
   Model_Log::error('Cannot open uploaded file.');
   die('Cannot open uploaded file.');
}

while (($data = fgetcsv($handle)) !== FALSE)
{
    $url_array[] = $data[0];
} 

尝试一下,但是如果您共享csv文件,则最好为您提供帮助。

function read($file){
    $data = array();
    $csv_file = $file['folder'] . $file['name'];
    $csvfile = fopen($csv_file, 'r');
    if(!feof($csvfile)){
        $i = 0;
        while (!feof($csvfile)) {
            $csv_data[] = fgetcsv($csvfile, 1000, ",");
            $data[] = array(
                'column1' => !empty($csv_data[$i][0])?$csv_data[$i][0]:'empty',
                'column2' => !empty($csv_data[$i][1])?$csv_data[$i][1]:'empty',
                'column3' => !empty($csv_data[$i][2])?$csv_data[$i][2]:'empty',
                'column4' => !empty($csv_data[$i][3])?$csv_data[$i][3]:'empty',
                'column5' => !empty($csv_data[$i][4])?$csv_data[$i][4]:'empty'
            );
            $i++;
        }
    }
    return $data;
}
$data = read(array('folder'=>'','name'=>'file.csv'));//same folder
var_dump($data);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM