fgsl/csvextractor

组件,用于从CSV文件中提取数据到SQL数据库表

0.0.1 2021-10-26 00:50 UTC

This package is auto-updated.

Last update: 2024-09-26 07:41:14 UTC


README

关系数据库表的CSV文件提取器

关系数据库表的CSV文件提取器

安装 / 安装

composer require fgsl/csvextractor

配置 / 配置

配置文件 / 配置文件

将文件 config.php.dist 复制为 config.php,并填写CSV文件名和数据库连接参数。

将文件 config.php.dist 复制为 config.php,并填写CSV文件名和数据库连接参数。

装饰器

创建一个实现了 CsvExtractorInterface 接口并包含CSV文件数据处理和表INSERT语句处理的类。

创建一个实现了 CsvExtractorInterface 接口并包含CSV文件数据处理和表INSERT语句处理的类。

示例 / 示例

<?php

use Fgsl\CsvExtractorInterface;

class DecoratorMunicipios implements CsvExtractorInterface {
    /**
     * Value treatment and definition of INSERT statement
     */
        public function getValues(array $row): string
        {
            $values = "'" . $row[11]  . "'," . // CODIGO_MUNICIPIO
            "'" . str_replace("'","\'",$row[12]) . "'" . ',' . // NOME_MUNICIPIO
            "'" . $row[0] . "'" . ',' . // CODIGO_UF
            "'" . $row[1] . "'" . ',' . // NOME_UF
            $row[4]; // CODIGO_IBGE 
            return $values;
        }
    /**
     * General implementation: 
     * $values = getValues($row);
     * return "INSERT INTO (...) VALUES ($values)";
     */
        public function getSqlStatement(array $row): string
        {
                $values = $this->getValues($row);
                $sql = "INSERT INTO municipios(CODIGO_MUNICIPIO, NOME_MUNICIPIO, CODIGO_UF, NOME_UF, CODIGO_IBGE) VALUES ($values)";
                return $sql;
        }
}

使用 / 使用

创建一个PHP脚本来导入Composer的 autoload.php,实例化 CsvExtractor 类并调用 extractData 方法。

创建一个PHP脚本来导入Composer的 autoload.php,实例化 CsvExtractor 类并调用 extractData 方法。

示例 / 示例

?php
include 'vendor/autoload.php';
include 'DecoratorMunicipios.php';

use Fgsl\CsvExtractor;

$csvExtractor = new CsvExtractor(include 'config.php',new DecoratorMunicipios());
$csvExtractor->extractData();

此脚本必须执行以从CSV文件中提取数据到数据库表。

此脚本必须执行以从CSV文件中提取数据到数据库表。