php讀取csv文件時,php導入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文件怎麼是亂碼

出現亂碼解決辦法:

csv格式不是utf的,所以在讀取和寫入mysql的時候就會出現亂碼,用iconv函數轉換下即可。

$Name=iconv(‘gb2312′,’utf-8’,$file);

php讀取csv文件 時每一項的開頭如果是中文 將會被忽略, 怎麼辦用fgetcsv讀取的

setlocale(LC_ALL,array(‘zh_CN.gbk’,’zh_CN.gb2312′,’en_US.utf8′));你在fgetcsv之前加一下這句話。我一般讀不出中文的時候加上就好了

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文件,每讀取一行數據,就插入數據庫

示例

文件夾結構

/

 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中的三行數據

php讀取CSV文件時,無法讀取漢字,編碼已強制GB2312

可以嘗試在獲得提交的CSV之後再對數據編碼一次

提及CSV之後你不是要通過虛幻去逐行讀取數據嗎,

在逐行讀取數據的之前,先對這一行 的所有數據進行二次編碼

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-13 13:32
下一篇 2024-12-13 13:32

相關推薦

發表回復

登錄後才能評論