fgsl / csvextractor
组件,用于从CSV文件中提取数据到SQL数据库表
0.0.1
2021-10-26 00:50 UTC
Requires
- laminas/laminas-db: ^2.13
- laminas/laminas-servicemanager: ^3.10
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文件中提取数据到数据库表。