php读取csv数据

csv文件类似于excel,可以存储和处理一些数据,csv可以把数据导入到数据库中,前提是结构一样,但是,遇到结构不一样的csv就要把它里面的数据读出来,处理一下,就可以入库了。本文介绍的就是用php读取csv的方法。
很多时候,数据需要进入不同的数据存储仓库,今天就遇到这个问题,客户发来14万条记录的csv文件(不了解csv的童鞋可以google一下),没有办法,只好自己把凌乱的csv读出来,然后保存进数据库,下面我把代码贴出来,分享一下。

<?php
 
         $file_name='_upload/csv/'.$_FILES['file_name']['name'];  //上传路径
		if($open_file=fopen($file_name,"r")){
                    $handle = fopen($file_name,"r");
		    $row=1;
		    $i=0;
                       while($open_fileline=fgetcsv($handle,255)){
 
				$insert_array[$i]['firstname']=$open_fileline[0];
				$insert_array[$i]['lastname']=$open_fileline[1];
				$insert_array[$i]['gender']=$open_fileline[2];
				$insert_array[$i]['dob']=$open_fileline[3];
				$insert_array[$i]['country']=$open_fileline[4];
				$insert_array[$i]['nric_id']=$open_fileline[5];
				$insert_array[$i]['email']=$open_fileline[6];
				$insert_array[$i]['password']=$open_fileline[7];
				$insert_array[$i]['re_password']=$open_fileline[8];
				$insert_array[$i]['mobile_phone']=$open_fileline[9];
				$insert_array[$i]['Nationality']=$open_fileline[10];
				$insert_array[$i]['address1']=$open_fileline[11];
				$insert_array[$i]['zip_code']=$open_fileline[12];
				$insert_array[$i]['Company']=$open_fileline[13];
				$insert_array[$i]['Emergency_contact']=$open_fileline[14];
				$insert_array[$i]['Emergency_number']=$open_fileline[15];
				$insert_array[$i]['relationship']=$open_fileline[16];
				$insert_array[$i]['Job']=$open_fileline[17];
				$insert_array[$i]['TeeShirtOrder']=$open_fileline[18];
				$insert_array[$i]['Bloodgroup']=$open_fileline[19];
				$insert_array[$i]['MedConditions1']=$open_fileline[20];
				$insert_array[$i]['MedTreat1']=$open_fileline[21];
				$insert_array[$i]['Consent']=$open_fileline[22];
				$insert_array[$i]['actual_price']=$open_fileline[27];
				$insert_array[$i]['Swim_trial']=$open_fileline[28];
				$insert_array[$i]['ChampionShip']=$open_fileline[29];
				$insert_array[$i]['ChampionShip_number']=$open_fileline[30];
				$insert_array[$i]['team_mode']=$open_fileline[31];
				$insert_array[$i]['datetime_submission']=date("Y-m-d H:i:s");
 
 
				//unset($insert_array['0']);
				//unset($category_array['0']);
				if($i>1){        //除去标题
				           print_r($insert_array[$i]);
				           echo 'Row:'.$i.' import Success<br />';
 
				}
				$i++;
			}
				//unset($insert_array['0']);
				fclose($handle);
 
 
 
		}else{
			echo 'error';
		}
 
?>

16 Responses to “php读取csv数据”

  1. спорт 说:

    полностью поддерживаю, такие же мысли были.

  2. мебель 说:

    Потрясающе! Хочется перечитывать снова и снова… Такие авторы сегодня большая редкость.

  3. Спасибо за пост. Позновательно.

  4. Хонда 说:

    А Вы не задумывались о том, чтобы параллельно завести еще один блог

  5. Слушайте, давайте махнем в ближайшие выходные за город и там все это обсудим. Вы ведь из Москвы?

  6. Решил помочь и разослал пост в социальные букмарки. Надеюсь поднимется популярность

  7. Помнится, кто-то выкладывал фотки…

  8. Занятно. Подпишусь-ка я на RSS пожалуй

  9. А представьте, если бы Ваш блог был бы повыше в рейтинге Яндекса, очень много бы людей прочли этот пост.

  10. +1 к предыдущему комменту

  11. дизайн 说:

    Офигеть просто! Все, блин, всё знают, кроме меня

  12. А представьте, если бы Ваш блог был бы повыше в рейтинге Яндекса, очень много бы людей прочли этот пост.

  13. Хороший пост! Подчерпнул для себя много нового и интересного! Пойду ссылку другу дам в аське

  14. Очень понравилось, даже не ожидала.

  15. Вот это пост! Сильно. Спасибо.

Leave a Reply

WordPress Theme Design

Free Web Hosting