diouro/csv-lib

一个简单的面向对象的CSV库,用于读取CSV文件和用于http://sooho.com.br网站的文章。目前这个库只能读取数据。未来版本可能会实现新方法,例如通过ResultSet返回数据、数据过滤、按列过滤和写操作。

1.0.0 2021-10-13 22:04 UTC

This package is auto-updated.

Last update: 2024-09-14 05:24:33 UTC


README

一个简单的面向对象的CSV库,用于读取CSV文件和用于http://sooho.com.br网站的文章。目前这个库只能读取数据。未来版本可能会实现新方法,例如通过ResultSet返回数据、数据过滤、按列过滤和写操作。

如何使用

请随意下载、使用、修改或提出改进建议。使用exemplo_leitura.php文件作为参考。

实例化类

使用此库的第一步是实例化CSV类。整个库都使用命名空间,以避免与其他系统冲突——因为Csv和Arquivo是常见的名称。首先插入库并使用以下代码实例化类:

# Incluindo a biblioteca CSV
require_once __DIR__ .'/src/CsvReader.php'; 

# Instanciando o Objeto de Manipulação de dados
$csv = new CsvReader( 'movimentos_financeiros.csv',',','"' );

Csv类总共接收3个参数。

  1. CSV文件路径
  2. 列分隔符
  3. 字符串标识符,如果没有传递最后两个参数,则库将默认使用";"作为列分隔符和"\""作为字符串标识符。

数据读取

数据读取是通过CsvReader类的read()方法进行的。此方法也可以接收上述提到的3个参数。

# obtendo os dados e realizando um Loop
# com foreach
foreach( $csv->read() as $linha )
    var_dump( $linha );

其他可能性

有一些额外的功能可能有用。如下所示!

/**
 * Caminho e Nome do Arquivo
 * saida: string; algo como 'teste_importe__.csv';
 */
echo $csv->filepath() ; 

/**
 * Número total de registros 
 * dentro do arquivo
 * saida: valor int;
 */
echo $csv->numRows() ;

/**
 * Obtendo o tamanho do arquivo
 * formatado em B,KB,MB,GB.
 * saida: Array('size','unit');
 */
$size = $csv->size();
echo $size['size'] . $size['unit'] ;

/**
 * Obtendo a data em que o arquivo foi 
 * Modificado.
 * Nota: Precisa configurar em seu sistema 
 * o timezone com date_default_timezone_set();
 * saida: string; algo como 10/04/2017 19:42:02
 */
echo $csv->dataModificacao() ;

/**
 * Existe a data em que o arquivo foi acessado 
 * por ultimo.
 * saida: string; algo como 10/04/2017 19:42:02
 */
echo $csv->dataAcesso() ;


/**
 * Você também pode transformar o resultado final 
 * em um objeto, se assim desejar e achar mais 
 * confortavel o uso de oop.
 * A conversão funciona pelo proprio PHP via typecast.
 */
foreach( $csv->ler() as $linha ){
    $linha = (object) $linha;
    var_dump( $linha );
}

总结

希望这个简单的类对使用它的人有所帮助。如果您需要更多信息,请访问http://sooho.com.br,因为它包含有关库如何制作的更详细材料。

谢谢。Wanderlei Santana sans.pds@gmail.com