Create table from CSV

Print
I needed to create SQLite tables from CSV files.
These CSV files contained the names of columns in the front line.

So I created a PHP script from the command line that I put at your disposal. You can easily modify this script to suit your needs.
To use:
php-q tableFromCsv.php SQLiteDatabase tableName CSV_Filename [separator] [delimitor]
or
. / tableFromCsv.php SQLiteDatabase tableName CSV_Filename [separator] [delimitor]

SQLiteDatabase: filename of the database SQLite2 (with absolute or relative path)
tableName: name of the new table
CSV_Filename name of the CSV file to import (with absolute or relative path)
separator: separator character data (Optional default '; ")
delimitor: string delimiter (Optional, default empty)

Here's the script:
# '/ usr / local / bin / php
/ *
* Creates a table from a CSV file whose first line contains column titles
*
* Usage:
* Php-q tableFromCsv.php SQLiteDatabase tableName CSV_Filename [separator] [delimitor]
*. / TableFromCsv.php SQLiteDatabase tableName CSV_Filename [separator] [delimitor]
* /

if (count ($ _SERVER [ 'argv'])>= 4) (
$ DatabaseFile = $ _SERVER [ 'argv'] [1];
$ tableName = $ _SERVER [ 'argv'] [2];
$ csvFilename = $ _SERVER [ 'argv'] [3];

if (isset ($ _SERVER [ 'argv'] [4])) $ separator = $ _SERVER [ 'argv'] [4] else $ separator = ',';
if (isset ($ _SERVER [ 'argv'] [5])) $ delimiter = $ _SERVER [ 'argv'] [5]; else $ delimiter = null;

if ($ db = sqlite_open ($ DatabaseFile, 0666, $ sqliteerror)) (
$ row = 0;
$ handle = fopen ($ csvFilename, "r");
while (($ data = fgetcsv ($ handle, 0, $ separator))! == FALSE) (
if ($ row) (
if (! sqlite_query ($ db, "CREATE TABLE". $ tableName. "(". implode ( '', $ data ().");"))
echo "The table creation failed.";
exit;
)
Else ()
$ tempTab = array ();
foreach ($ data as $ val) (
$ val = utf8_decode ($ val);
$ val = str_replace ("''", "", $ val);
$ tempTab [] = "". sqlite_escape_string ($ val). " '";
)
$ q = "INSERT INTO". $ tableName. "VALUES (". implode ( "", $ tempTab ).");";
sqlite_query ($ db, $ q);
)
$ row + +;
)
fclose ($ handle);
Else ()
echo "Connecting to the SQLite database:". $ DatabaseFile. "Failed";
)
Else ()
echo "
Usage:
tableFromCsv.php database tableName csvFilename [separator] [delimitor] ";
)