承接 yidas/csv 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

yidas/csv

最新稳定版本:1.0.0

Composer 安装命令:

composer require yidas/csv

包简介

PHP CSV writer & reader with settings of quoting enclosure and encoding

README 文档

README

PHP CSV


PHP CSV writer & reader with settings of quoting enclosure and encoding

Latest Stable Version License

Features

  • Support generating Double Quotes enclosure for all entities setting

  • Support Encoding setting for local dialect

  • Elegent Interface for setup and use

OUTLINE

DEMONSTRATION

Quickstart with specifying the file name directly:

// Read the CSV file
$csvReader = new yidas\csv\Reader('/tmp/file.csv');
$rows = $csvReader->readRows();
$csvReader->fclose();
// Write the CSV file
$csvWriter = new yidas\csv\Writer('/tmp/file.csv'); 
$csvWriter->writeRows($rows);
$csvWriter->fclose();

Write to CSV

Open a file and use libray to write in CSV format:

$fp = fopen("/tmp/file.csv", 'w');

$csvWriter = new yidas\csv\Writer($fp, [
    // 'quoteAll' => true,
    // 'encoding' => 'UTF-8'
]); 
$csvWriter->writeRow(["First", 'Second']);
$csvWriter->writeRows([
    ["Normal", 'Double"Quote'], 
    ["It's a context,\nNew line.", 'Encoded中文'],
]);

fclose($fp);

The content of generated CSV file will be:

"First","Second"
"Normal","Double""Quote"
"It's a context,
New line.","Encoded中文"

In default setting, it will always add double quotes with UTF-8 encoding.

Read from CSV

Open a CSV file with local encoding (Big5) and use libray to read with UTF-8 encoding:

$fp = fopen("/tmp/file.csv", 'r');

$csvReader = new yidas\csv\Reader($fp, [
    'encoding' => 'Big5'
]); 
$firstRow = $csvReader->readRow();
$remainingRows = $csvReader->readRows();

fclose($fp);

REQUIREMENTS

This library requires the following:

  • PHP CLI 5.4.0+

INSTALLATION

Run Composer in your project:

composer require yidas/csv

Then you could use the class after Composer is loaded on your PHP project:

require __DIR__ . '/vendor/autoload.php';

use yidas\csv\Writer;
use yidas\csv\Reader;

USAGE

Options

The options in parameter 2 for Writer/Reader class are as below:

quoteAll

Controls when quotes should be always generated by the writer.

Encoding

Controls which the encoding should be generated by the writer/reader.

By defaule, Microsoft Excel will open CSV file with local encoding. For example: Excel in Chinese(Traditional) Windows will open CSV with Big5 encoding.

Writer

$csvWriter = new yidas\csv\Writer($fp, [
    // 'quoteAll' => true,
    // 'encoding' => 'UTF-8'
]); 

writeRow()

Write the row parameter to the writer’s file stream, formatted according to the current setting.

public static array writeRow(array $rowData)

writeRows()

Write the rows parameter to the writer’s file stream, formatted according to the current setting.

public static array writeRows(array $rowsData)

Reader

$csvReader = new yidas\csv\Reader($fp, [
    // 'encoding' => 'UTF-8'
]); 

readRow()

Read a row from current file pointer.

public static array readRow()

Example:

while ( ($row = $csvReader->readRow($file) ) !== FALSE ) {
    var_dump($row);
}

readRows()

Read all the rows from current file pointer.

public static array readRows()

Example:

$rows = $csvReader->readRows();
var_dump($rows);

Exceptions

try {

    $csvWriter = new yidas\csv\Writer($fp, [
        // 'quoteAll' => true,
        // 'encoding' => 'UTF-8'
    ]); 
    $csvWriter->writeRow(["First", 'Second']);
    
} catch (\Exception $e) {

    echo 'Code:' . $e->getCode() . ' Message:' . $e->getMessage();
}

REFERENCES

统计信息

  • 总下载量: 1.45k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 6
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 6
  • Watchers: 1
  • Forks: 1
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2021-09-02