现在有个CSV的文件,格式如下:
"11111";"1111111";"2324242";"66dggdgg"LF(换行)
“sdfsfsdfsdf”;"sdfsdfsdfsfd";"sdfsdf CR LF(换行) sfsdf";"sdfsdfsdfsfsf"LF(换行)
现在的问题是字段里面的内容包含了换行符,请问这种一般怎么处理?(东南亚一个垃圾平台导出的文件格式)
回复讨论(解决方案)
你应给出真实的文件,哪怕是截个图也好
并说明你遇到的问题
fgetcsv、str_getcsv 都可以很好的处理
http://pan.baidu.com/s/1sjEcrM1
以上是文档链接,主要是怎么处理内容中的换行符
$fp = fopen('Order_2015-12-01_113045.csv', 'r');while($buf = fgetcsv($fp, '"', ';')) { $res[] = $buf;}print_r($res);
Array( [0] => Array ( [0] => 锘�"Order Item Id" [1] => Lazada Id [2] => Seller SKU [3] => Lazada SKU [4] => Created at [5] => Updated at [6] => Order Number [7] => Customer Name [8] => National Registration Number [9] => Shipping Name [10] => Shipping Address [11] => Shipping Address2 [12] => Shipping Address3 [13] => Shipping Address4 [14] => Shipping Address5 [15] => Shipping Phone Number [16] => Shipping Phone Number2 [17] => Shipping City [18] => Shipping Postcode [19] => Shipping Country [20] => Billing Name [21] => Billing Address [22] => Billing Address2 [23] => Billing Address3 [24] => Billing Address4 [25] => Billing Address5 [26] => Billing Phone Number [27] => Billing Phone Number2 [28] => Billing City [29] => Billing Postcode [30] => Billing Country [31] => Payment Method [32] => Paid Price [33] => Unit Price [34] => Shipping Fee [35] => Wallet Credits [36] => Item Name [37] => Variation [38] => Color [39] => CD Shipping Provider [40] => Shipping Provider [41] => Shipment Type Name [42] => Shipping Provider Type [43] => CD Tracking Code [44] => Tracking Code [45] => Tracking URL [46] => Promised shipping time [47] => Premium [48] => Status [49] => Reason ) [1] => Array ( [0] => 4510457 [1] => 10940553 [2] => lazada000009 [3] => NO037OTAA43BO8ANMY-8132332 [4] => 2015-11-30 14:09:14 [5] => 2015-11-30 15:23:39 [6] => 344351562 [7] => [8] => [9] => Rinee Ramiah [10] => UMW TOYOTSU MOTORS SDN BHDNo 1,jalan batu arang, [11] => [12] => [13] => [14] => [15] => 0122533611 [16] => [17] => Selangor-Rawang-48000 [18] => 48000 [19] => Malaysia [20] => Rinee Ramiah [21] => UMW TOYOTSU MOTORS SDN BHDNo 1,jalan batu arang, [22] => [23] => [24] => [25] => [26] => 0122533611 [27] => [28] => Selangor-Rawang-48000 [29] => 48000 [30] => Malaysia [31] => Cybersource [32] => 49.25 [33] => 49.25 [34] => 0.00 [35] => 0.00 [36] => BesWLZ Multi Function Mens Military DualTime Digital Analog Chronograph Sport Wrist Watch 50M Water Resistant Waterproof for Boy Girls Child Kids Gift (Green) [37] => ... [38] => [39] => [40] => [41] => Dropshipping [42] => standard [43] => [44] => [45] => [46] => [47] => No [48] => canceled [49] => Out of Stock - Product non available ))
[0][0] 元素因 BOM 头的影响,结果有点问题
去掉就正常了
Array( [0] => Array ( [0] => Order Item Id [1] => Lazada Id ......
请问怎么去掉BOM头, 是要用文本编辑软件去掉吗?如果用PHP怎么去掉?
$fp = fopen('Order_2015-12-01_113045.csv', 'r');
fseek($fp, 3); //这样就去掉了
while($buf = fgetcsv($fp, '"', ';')) {
$res[] = $buf;
}
print_r($res);
也不是去掉,是 跳过