Hướng dẫn get data from csv file in php - lấy dữ liệu từ tệp csv trong php

Chỉ cần tạo một hàm trích xuất dữ liệu từ tệp .csv hoặc văn bản được định dạng CSV và sau đó phân tích nó để sử dụng thuận tiện hơn (giả sử dòng đầu tiên là các cột). Tuy nhiên, hoạt động với nhiều hàng/cột bạn muốn/có, chỉ cần trỏ chức năng vào vị trí/chuỗi tệp và nó sẽ trả về kết quả!

function csvParse($input, $callback = false){
    $results = [];
    $raw_array = (is_file($input)) ? array_map('str_getcsv', file($input)) : array_map('str_getcsv', explode("\n", $input));
    $array = array_splice($raw_array, 1, count($raw_array));
    foreach($raw_array[0] as $c) $columns[] = $c;
    foreach($array as $key0 => $val0) 
        foreach($val0 as $key1 => $val1) 
            $results[$key0][$columns[$key1]] = $val1;
    if(is_callable($callback)) call_user_func_array($callback, array($results));
    else return $results;
}

# Either One Would Work
$input = "dir/file.csv";
$input = "name,age,occupation,city\nCrimin4L,24,Programmer,New York\nMrAwesome,20,Gamer,Los Angeles";

# Usage #1
$array = csvParse($input);
var_export($array);

# Usage #2
csvParse($input, function($array){
    var_export($array);
});

Input:

name,age,occupation,city
Crimin4L,24,Programmer,New York
MrAwesome,20,Gamer,Los Angeles

Đầu ra mảng:

array (
  0 => 
  array (
    'name' => 'Crimin4L',
    'age' => '24',
    'occupation' => 'programmer',
    'city' => 'New York',
  ),
  1 => 
  array (
    'name' => 'MrAwesome',
    'age' => '20',
    'occupation' => 'gamer',
    'city' => 'Los Angeles',
  ),
)

Bản demo trực tiếp: https://ideone.com/sa1amo

Xem thảo luận

Cải thiện bài viết

Lưu bài viết

  • Đọc
  • Bàn luận
  • Xem thảo luận

    Cải thiện bài viết

    Lưu bài viết

    Đọc

    Bàn luận is a text file containing data contents. It is a comma-separated value file with .csv extension, which allows data to be saved in a tabular format.

    Chúng tôi đã cung cấp dữ liệu ở định dạng tệp CSV và tác vụ là hiển thị dữ liệu tệp CSV vào trình duyệt web bằng PHP. Để hiển thị dữ liệu từ tệp CSV đến trình duyệt web, chúng tôi sẽ sử dụng hàm fgetcsv ().The fgetcsv() function is used to parse a line from an open file, checking for CSV fields.

    Giá trị phân tách dấu phẩy (CSV) là một tệp văn bản chứa nội dung dữ liệu. Đây là một tệp giá trị được phân tách bằng dấu phẩy với tiện ích mở rộng .csv, cho phép dữ liệu được lưu theo định dạng bảng.

    • hàm fgetcsv (): hàm fgetcsv () được sử dụng để phân tích một dòng từ một tệp mở, kiểm tra các trường CSV.

    • Các bước thực thi:

    Hướng dẫn get data from csv file in php - lấy dữ liệu từ tệp csv trong php

    • Mở máy chủ XAMPP và khởi động dịch vụ Apache
    • Mở Notepad và nhập mã PHP và lưu nó dưới dạng Code.php

    Tên tệp: Code.php

    PHP

    <!DOCTYPE html>

    <html>

    <body>

        <center>

            <h2>DISPLAY DATA PRESENT IN CSV</h2>

            

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    1

            

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    3

            

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    5
    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    6
    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    7

            

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    9
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    0
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    1
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    2223
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    4
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    5
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    6

            

    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    8
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    9<!DOCTYPE html>0
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    0<!DOCTYPE html>2__2222222

    <!DOCTYPE html>6

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    5 <!DOCTYPE html>8
    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    7

    <!DOCTYPE html>6<html>1

    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    2<!DOCTYPE html>0 <html>4 <html>5<html>6

    <html>7

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    5 <html>9 <body>0<html>5<body>2

    <body>3<body>4<body>5

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    7

    <!DOCTYPE html>6<body>8

    <!DOCTYPE html>6

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    5     1
    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    7

            <body>8

                6

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    9
    array (
      0 => 
      array (
        'name' => 'Crimin4L',
        'age' => '24',
        'occupation' => 'programmer',
        'city' => 'New York',
      ),
      1 => 
      array (
        'name' => 'MrAwesome',
        'age' => '20',
        'occupation' => 'gamer',
        'city' => 'Los Angeles',
      ),
    )
    
    6

            

    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    5 <center>1
    name,age,occupation,city
    Crimin4L,24,Programmer,New York
    MrAwesome,20,Gamer,Los Angeles
    
    7

            <center>4

        <center>6

    <center>7

    <center>8

    Output:


    Làm cách nào để đọc tệp CSV trong PHP?

    PHP có hai chức năng sẵn có để đọc tệp CSV. fgetcsv () - Đọc CSV bằng cách sử dụng tham chiếu của tài liệu tệp.str_getcsv () - Đọc dữ liệu CSV được lưu trữ trong một biến.fgetcsv() – Reads CSV using the reference of the file resource. str_getcsv() – Reads CSV data stored in a variable.

    Làm cách nào để lấy dữ liệu từ tệp CSV?

    Các bước để đọc tệp CSV:..
    Nhập thư viện CSV.Nhập CSV ..
    Mở tệp CSV.Các .....
    Sử dụng đối tượng CSV.Reader để đọc tệp CSV.csvreader = csv.Reader (tệp).
    Trích xuất tên trường.Tạo một danh sách trống gọi là tiêu đề.....
    Trích xuất các hàng/hồ sơ.....
    Đóng tệp ..

    Làm cách nào để đọc tệp CSV trong cột khôn ngoan trong PHP?

    Bạn có thể mở tệp bằng fopen () như bình thường, lấy từng dòng bằng cách sử dụng fgets () và sau đó chỉ cần phát nổ nó trên mỗi dấu phẩy như thế này:open the file using fopen() as usual, get each line by using fgets() and then simply explode it on each comma like this:

    Làm cách nào để xuất dữ liệu từ CSV sang PHP và MySQL?

    Xuất dữ liệu sang tệp CSV bằng PHP (ExportData ...
    Lấy dữ liệu từ cơ sở dữ liệu MySQL ..
    Tạo một con trỏ tệp bằng hàm fopen () ..
    Chỉ định các cột tiêu đề và đặt dữ liệu vào tệp CSV ..
    Đầu ra từng hàng của dữ liệu, dòng định dạng dưới dạng CSV và ghi vào tệp con trỏ ..