【问题标题】:I can't get the specific field in csv file我无法获取 csv 文件中的特定字段
【发布时间】:2014-03-04 02:20:42
【问题描述】:

只是想问...为什么我无法获取字段 16 数据?这是我使用 codeigniter 获取 csv 文件中数据的代码

这是在我的控制器中:

public function index()
{
       $this->load->library('csvreader');

       $filePath = 'C:\xampp\htdocs\Datacast\pdw_table.csv';

       $data['csvData'] = $this->csvreader->parse_file($filePath);

       die();
       echo '<pre>';
       print_r($data);
       die();
       echo '</pre>';

       $this->load->view('myform', $data);
}

这是我的看法:

<table cellpadding="0" cellspacing="0">
        <thead>
        <th>
                <td>Field 1</td>
                <td>Field 2</td>
                <td>Field 3</td>
                <td>Field 16</td>
        </th>
        </thead>

        <tbody>
                <?php foreach($csvData as $field)
                    {?>
                    <tr>
                        <td><?php echo $field['Field 1']; ?></td>
                        <td><?php echo $field['Field 2']; ?></td>
                        <td><?php echo $field['Field 3']; ?></td>
                        <td><?php echo $field['Field 16']; ?></td>
                    </tr>

                <?php }?>
        </tbody>

    </table>

每次我 print_r 控制器中的 $data 都是输出

Array
(
[csvData] => Array
    (
        [0] => Array
            (
                [Field 1] => Myanmar
                [Field 2] => MPT_ONE
                [Field 3] => B7VIET-STP-0
                [] => 
                [Field 4] => 0
                [Field 5] => A
                [Field 6] => 1
                [Field 7] => HW_SX/SPC
                [Field 8] => STP
                [Field 9] => 4.28.1
                [Field 10] => 8417
                [Field 11] => VINAPHONE (Vietnam)/STP
                [Field 12] => STP
                [Field 13] => 4.104.3
                [Field 14] => 9027
                [Field 15] => HNI/VTI-YGN/MPT 30N001  (Vietnam-1)
                [Field 16
] => 1.1.1



            )

        [1] => Array
            (
                [Field 1] => Myanmar
                [Field 2] => MPT_ONE
                [Field 3] => B7VIET-STP-1
                [] => 
                [Field 4] => 0
                [Field 5] => A
                [Field 6] => 1
                [Field 7] => HW_SX/SPC
                [Field 8] => STP
                [Field 9] => 4.28.1
                [Field 10] => 8417
                [Field 11] => VINAPHONE (Vietnam)/STP
                [Field 12] => STP
                [Field 13] => 4.104.4
                [Field 14] => 9028
                [Field 15] => HCN/VTI-YGN/MPT 30N002 (Vietnam-2)
                [Field 16
] => 1.1.1


            )

        [2] => Array
            (
                [Field 1] => Myanmar
                [Field 2] => MPT_ONE
                [Field 3] => LKBELGA1
                [] => 
                [Field 4] => 0
                [Field 5] => A
                [Field 6] => 1
                [Field 7] => DMS_NPT/SPC
                [Field 8] => STP
                [Field 9] => 4.28.3
                [Field 10] => 8419
                [Field 11] => BELGACOM-Belgium/STP
                [Field 12] => STP
                [Field 13] => 2.13.1
                [Field 14] => 4201
                [Field 15] => BRUSSELS-YANGON30N001
                [Field 16
] => 1.1.2


            )

        [3] => Array
            (
                [Field 1] => Myanmar
                [Field 2] => MPT_ONE
                [Field 3] => LKSOFT1
                [] => 
                [Field 4] => 0
                [Field 5] => A
                [Field 6] => 1
                [Field 7] => DMS_NPT/SPC
                [Field 8] => STP
                [Field 9] => 4.28.3
                [Field 10] => 8419
                [Field 11] => SOFTBANK-Japan/STP
                [Field 12] => STP
                [Field 13] => 4.85.1
                [Field 14] => 8873
                [Field 15] => CHB/SBT-YGN30N002
                [Field 16
] => 1.1.2

            )

这是 var_dump() 中的输出

array(1) {
["csvData"]=>
array(37) {
  [0]=>
 array(18) {
  ["Field 1"]=>
  string(7) "Myanmar"
  ["Field 2"]=>
  string(7) "MPT_ONE"
  ["Field 3"]=>
  string(12) "B7VIET-STP-0"
  [""]=>
  string(0) ""
  ["Field 4"]=>
  string(1) "0"
  ["Field 5"]=>
  string(1) "A"
  ["Field 6"]=>
  string(1) "1"
  ["Field 7"]=>
  string(9) "HW_SX/SPC"
  ["Field 8"]=>
  string(3) "STP"
  ["Field 9"]=>
  string(6) "4.28.1"
  ["Field 10"]=>
  string(4) "8417"
  ["Field 11"]=>
  string(23) "VINAPHONE (Vietnam)/STP"
  ["Field 12"]=>
  string(3) "STP"
  ["Field 13"]=>
  string(7) "4.104.3"
  ["Field 14"]=>
  string(4) "9027"
  ["Field 15"]=>
  string(35) "HNI/VTI-YGN/MPT 30N001  (Vietnam-1)"
  ["Field 16"]=>
  string(5) "1.1.1"
  [" 
"]=>


  string(2) "
"

}
[1]=>
array(18) {
  ["Field 1"]=>
  string(7) "Myanmar"
  ["Field 2"]=>
  string(7) "MPT_ONE"
  ["Field 3"]=>
  string(12) "B7VIET-STP-1"
  [""]=>
  string(0) ""
  ["Field 4"]=>
  string(1) "0"
  ["Field 5"]=>
  string(1) "A"
  ["Field 6"]=>
  string(1) "1"
  ["Field 7"]=>
  string(9) "HW_SX/SPC"
  ["Field 8"]=>
  string(3) "STP"
  ["Field 9"]=>
  string(6) "4.28.1"
  ["Field 10"]=>
  string(4) "8417"
  ["Field 11"]=>
  string(23) "VINAPHONE (Vietnam)/STP"
  ["Field 12"]=>
  string(3) "STP"
  ["Field 13"]=>
  string(7) "4.104.4"
  ["Field 14"]=>
  string(4) "9028"
  ["Field 15"]=>
  string(34) "HCN/VTI-YGN/MPT 30N002 (Vietnam-2)"
  ["Field 16"]=>
  string(5) "1.1.1"
  [" 
"]=>


  string(2) "
"

}

不知道为什么要输入Field 16的数据..

【问题讨论】:

  • 是的,我找不到
  • 我已经检查了csv内容是否有回车或其他空格,但数据没有问题
  • array(1) { ["csvData"]=> array(37) { [0]=> array(17) { ["Field 13"]=> string(7) "4.104. 3" ["字段 14"]=> 字符串(4) "9027" ["字段 15"]=> 字符串(35) "HNI/VTI-YGN/MPT 30N001 (Vietnam-1)" ["字段 16"] => string(7) "1.1.1 " } 这里是 var_dump 的输出
  • 仍然在“字段 16”中有一个输入
  • 嗨@IJas,上面的输出是 var_dump() 的当前输出

标签: php codeigniter csv


【解决方案1】:

"[Field 16 "] 中有一个空格。在 CSV 中修复它。这将解决您的问题。

【讨论】:

    猜你喜欢
    • 2011-08-11
    • 2016-04-16
    • 2021-02-04
    • 1970-01-01
    • 2019-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多