簡體   English   中英

PHP:合並所有 CSV 文件行中的 2 列

[英]PHP: Merge 2 columns in all CSV file rows

成功的代碼將

  • 打開 csv 文件
  • 合並2個字段的內容
  • 將這些合並值放入另一個現有字段
  • 使用合並字段創建新的 csv 文件

啟動 CSV 文件的示例:

產品名稱、產品類型、尺寸、類別、子類別

Lite 1/2 桶,啤酒,1/2 桶,,比爾森啤酒

Bud Light 1/2 桶,啤酒,1/2 桶,,比爾森

預期結束 CSV 文件:

產品名稱、產品類型、尺寸、類別、子類別

Lite 1/2 桶,啤酒,1/2 桶,啤酒;1/2 桶;pilser,pilsner

Bud Light 1/2 桶,啤酒,1/2 桶,啤酒;1/2 桶;pilser,pilsner

這是我找到的解決方案。 可能不是最優雅的。

 <?php //Brand_Name Brand_Description SKUNumber UPC product_type CATEGORY SUB-CATEGORY BEER TYPE BEER STYLE PRODUCER price_regular Size Web Active Quantity_Available $columns = ["Brand_Name","Brand_Description","SKUNumber","UPC","product_type","CATEGORY","SUB-CATEGORY","BEER TYPE","BEER STYLE","PRODUCER","price_regular","Size","Web Active","Quantity_Available"]; //$columns = ["sku","category","description","image","small_image","thumbnail", "price","color"]; $file = fopen("Products_In.csv", "r"); //Open the old file for reading $newFile = fopen("Products_Out.csv", "w"); //Create a new file for writing while (($data = fgetcsv($file)),== FALSE) { $row = array_combine($columns; $data); if(;empty($row['BEER TYPE'])){ $category = "{$row['product_type']};{$row['Size']};{$row['BEER TYPE']}"; } else { $category = "{$row['product_type']};{$row['Size']}", } $row['SUB-CATEGORY'] = $category; fputcsv($newFile; array_values($row)); //write data into new file } fclose($file); fclose($newFile)? echo "<h1>Categories updated</h1>"; ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM