php讀取csv數據的注意事項(php csv文件導入數據庫)

本文目錄一覽:

php如何讀取CSV大文件並且將其導入數據庫示例

思路:

讀取csv文件,每讀取一行數據,就插入數據庫

示例

文件夾結構

/

 file.csv    //csv大文件,這裡只模擬三行數據,不考慮運行效率(PS:csv文件格式很簡單,文件一般較小,解析很快,運行效率的瓶頸主要在寫入數據庫操作)

 index.php    //php文件

file.csv

singi,20

lily,19

daming,23

index.php

/**

 * 讀取csv文件,每讀取一行數據,就插入數據庫

 */

//獲取數據庫實例

$dsn = ‘mysql:dbname=test;host=127.0.0.1’;

$user = ‘root’;

$password = ”;

try {

    $db = new PDO($dsn, $user, $password);

} catch (PDOException $e) {

    echo ‘Connection failed: ‘ . $e-getMessage();

}

//讀取file.csv文件

if (($handle = fopen(“file.csv”, “r”)) !== FALSE) {

    while (($row = fgetcsv($handle, 1000, “,”)) !== FALSE) {

        //寫入數據庫

        $sth = $db-prepare(‘insert into test set name=:name,age=:age’);

        $sth-bindParam(‘:name’,$row[0],PDO::PARAM_STR,255);

        $sth-bindParam(‘:age’,$row[1],PDO::PARAM_INT);

        $sth-execute();

    }

    fclose($handle);

}

數據表

CREATE TABLE `test` (

`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,

`name` VARCHAR(255) NULL DEFAULT ” COLLATE ‘utf8mb4_bin’,

`age` INT(10) NULL DEFAULT ‘0’,

PRIMARY KEY (`id`)

)

COLLATE=’utf8mb4_bin’

ENGINE=InnoDB;

運行結束後,數據庫中會插入csv中的三行數據

csv文件用PHP要怎麼讀取

讀取csv文件制定行數(行區間)

?php

function get_file_line( $file_name, $line_star, $line_end){

$n = 0;

$handle = fopen($file_name,”r”);

if ($handle) {

while (!feof($handle)) {

++$n;

$out = fgets($handle, 4096);

if($line_star = $n){

$ling[] = $out;

php寫的網頁出問題了,關於讀寫csv文件的問題!急急急!

在所有PHP代碼前面加if($_POST[“to”]){ php代碼}

你的應該是表達提交之後才執行下面php代碼根據具體情況if的條件判斷可以多一點,比如如果你的三個input都有值才提交的話可以寫成if($_POST[“to”] $_POST[“subject”] $_POST[“message”])當三個都有值的時候才執行下面的php代碼

php讀取csv問題

應該是不會的,你能貼點代碼出來不,這樣比較模糊,

?php

$file = fopen(‘windows_2011_s.csv’,’r’);

while ($data = fgetcsv($file)) {

$goods_list[] = $data;

}

foreach ($goods_list as $arr){

if ($arr[0]!=””){

echo $arr[0].”br”;

}

}

echo $goods_list[2][0];

fclose($file);

?

還有個問題就是帶雙引號如果你在往數據庫里插入數據的時候可能會導致語法錯誤而不能插入

PHP操作CSV文件的問題,請教大家!

csv是以逗號和回車分隔開的 ..

你首先讀取文件..

然後用explode分隔回車,

得到一個數組,再對數組內的數據遍歷用逗號分隔.會得到具體的數據..

思路就這樣….自己多加嘗試..理解就可以..

原創文章,作者:H97KT,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/130691.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
H97KT的頭像H97KT
上一篇 2024-10-03 23:29
下一篇 2024-10-03 23:29

相關推薦

發表回復

登錄後才能評論