【问题标题】:Write data from a CSV to Array to new CSV将数据从 CSV 写入数组到新的 CSV
【发布时间】:2014-10-04 13:40:39
【问题描述】:

我正在尝试从 CSV 中提取数据,在其中的一些上运行一个函数并将其吐出到一个新的 CSV 中。我被卡住并将数据正确写入数组。此外,文件已创建但为空。

PHP

$file = fopen("yahrzeit-3.csv","r");

if ($file) {
  while ( ( $row = fgetcsv( $file, ";" ) ) !== false ) { // 3

  $data .= array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );

}
print_r($data);
$fp = fopen('mailchimp.csv', 'w');

foreach ($data as $fields) {
    print $subfields;
    fputcsv($fp, $fields);
}
fclose( $fh ); // 5

}

fclose($fp);

【问题讨论】:

    标签: php arrays export-to-csv


    【解决方案1】:
    $file = fopen("yahrzeit-3.csv","r");
    
    if ($file) {
        $fp = fopen('mailchimp.csv', 'w');
        if (!$fp) {
            die('Cannot open output file');
        }
        while ( $row = fgetcsv( $file, ";" ) ) {
            $data = array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );
            fputcsv($fp, $data);
        }
        fclose( $fp );
    }
    fclose($file);
    

    比您尝试做的内存效率高得多

    【讨论】:

      【解决方案2】:
      $data .= array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );
      

      应该是

      $data[] = array ( $row[2], $row[3], $row[6], $row[7], $row[8], $row[14] );
      

      您将 $data 设置为字符串并尝试将数组塞入其中。

      【讨论】:

        猜你喜欢
        • 2018-10-23
        • 2021-05-17
        • 2016-10-26
        • 2017-12-03
        • 1970-01-01
        • 1970-01-01
        • 2016-12-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多