将CSV数组 [英] Converting CSV to array
本文介绍了将CSV数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有这个数组机场codeS和城市名称(约3500线)。
code,城市
阿比林,TX,ABI
埃达克岛,AK,ADK
Akiachak,AK,KKI
阿基亚克,AK,AKI
阿克伦/广东,OH,CAK
Akuton,AK,KQA
阿拉卡鲁克,AK,AUK
阿拉莫戈多,NM,ALM
我需要将该文件转换成一个PHP数组。这是我的code迄今:
IF(($处理=的fopen('test.csv','R'))!== FALSE){
而(($数据= fgetcsv($处理,1000,',',''))!== FALSE){
呼应'< pre>';
的print_r($数据);
呼应'< / pre>';
}
FCLOSE($处理);
}
虽然我设置的分隔符,enclousure个字符fgetcsv功能,即时得到这个结果:
阵列
(
[0] => code
[1] =>市
阿比林
[2] => TX
[3] => ABI
埃达克岛
[4] => AK
[5] => ADK
Akiachak
[6] => AK
[7] => KKI
阿基亚克
[8] => AK
[9] => AKI
阿克伦/广东
[10] => OH
[11] => CAK
Akuton
[12] => AK
[13] => KQA
阿拉卡鲁克
[14] => AK
[15] => AUK
阿拉莫戈多
[16] => NM
[17] => ALM
)
解决方案
如果它的换行符,你可以尝试穷举法:
$文件=的file_get_contents(test.csv);
$数据= array_map(str_getcsv,preg_split('/ \\ R * \\ N + | \\ R + /',$文件));
的print_r($数据);
str_getcsv
是可用的PHP 5.3,或变通方法手册中,通过 upgradephp 或的 PHP_Compat 。
I have this array with airport codes and city names (around 3500 lines).
code,city
"Abilene, TX ",ABI
"Adak Island, AK ",ADK
"Akiachak, AK ",KKI
"Akiak, AK ",AKI
"Akron/Canton, OH ",CAK
"Akuton, AK ",KQA
"Alakanuk, AK ",AUK
"Alamogordo, NM ",ALM
I need to convert that file into a php array. This is my code so far:
if(($handle = fopen('test.csv', 'r')) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ',', '"')) !== FALSE) {
echo '<pre>';
print_r($data);
echo '</pre>';
}
fclose($handle);
}
Although I'm setting the delimiter and enclousure characters for the fgetcsv function, im getting this as a result:
Array
(
[0] => code
[1] => city
"Abilene
[2] => TX "
[3] => ABI
"Adak Island
[4] => AK "
[5] => ADK
"Akiachak
[6] => AK "
[7] => KKI
"Akiak
[8] => AK "
[9] => AKI
"Akron/Canton
[10] => OH "
[11] => CAK
"Akuton
[12] => AK "
[13] => KQA
"Alakanuk
[14] => AK "
[15] => AUK
"Alamogordo
[16] => NM "
[17] => ALM
)
解决方案
If it's the linebreaks, you can try the brute-force method with:
$file = file_get_contents("test.csv");
$data = array_map("str_getcsv", preg_split('/\r*\n+|\r+/', $file));
print_r($data);
str_getcsv
is available with PHP 5.3, or as workaround in the manual, via upgradephp or PHP_Compat.
这篇关于将CSV数组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文