Je déteste l'application appelée Excel.
Vous pouvez lire 10000 lignes de csv dans Excel, le filtrer, faire glisser une fonction pour la copier et toutes les choses gênantes sont effectuées. Il y a des moments où le chargement prend beaucoup de temps et cela ne fonctionne pas sur un mac, donc le jour où il se fige, je ne suis pas motivé et je ne quitterai pas tôt.
Vous devenez fou! !! !!
Si vous êtes ingénieur, vous voulez tout terminer, du traitement / extraction des données depuis l'importation csv au téléchargement sur le serveur ftp depuis l'exportation avec juste une commande! Excel est une mauvaise manière du mal! Une base de données fiable! !! !!
Le fait est que si vous avez un script qui crée une instruction de création de table à partir de csv et effectue des lots pour charger des données, Excel est au revoir sans même dire au revoir. Un tel script python est le thème d'aujourd'hui.
Étant donné que python a un pip qui devine le type à partir de csv appelé csv_to_table et crée une instruction create table avec la partie en-tête de la première ligne comme nom de colonne, nous avons créé un script qui ajoute la fonction à créer jusqu'à l'instruction load data cette fois. J'ai fait.
J'ai écrit comment l'utiliser sur github, alors veuillez l'exécuter tel quel w
https://github.com/ShusukeOtani/table_stmt_generator_from_csv
gitclone
git clone https://github.com/ShusukeOtani/table_stmt_generator_from_csv
Installez pip et pyenv et exécutez-le avec python2.7.1.
Installation de pip dépendante
pip install -r requirements.txt
Préparez -d, -t et -p comme arguments facultatifs. -d est une option pour déterminer le type de base de données. -d m est mysql, -d p est postgre. La valeur par défaut est mysql. -t est un booléen s'il faut en faire une table temporaire. Si vous le coupez, faites-en une table permanente.
Vous pouvez spécifier la clé primaire avec -p. Si -p id, l'ID de colonne sera PK.
J'écrirai un exemple. Tout d'abord, il n'y a pas de clé primaire, la table permament, et l'option n'est pas requise pour mysql, alors spécifiez simplement le chemin du fichier de csv.
exmaple1
python execute.py ./example/test.csv
result1
DROP TABLE IF EXISTS table_stmt_generator_from; CREATE TABLE table_stmt_generator_from (
id smallint,
pref text
);LOAD DATA LOCAL INFILE '/Users/200302/table_stmt_generator_from_csv/example/test.csv' INTO TABLE table_stmt_generator_from FIELDS TERMINATED BY ',' IGNORE 1 LINES;
Si vous souhaitez utiliser la colonne id pour postgre, temp table et pk, ajoutez l'option suivante.
example2
`python execute.py -d p -t -p id ./example/test.csv
result2
DROP TABLE IF EXISTS test; CREATE TEMPORARY TABLE test (
id smallint,
pref text
, PRIMARY KEY(id));COPY test FROM '/Users/200302/table_stmt_generator_from_csv/example/test.csv' CSV HEADER;
L'un des emplois publicitaires consiste à créer des flux. Nous créons un flux de liste d'offres optimisé pour les fournisseurs tels que Criteo et Indeed. Vous ne pouvez pas REJOINDRE lorsque vous allez voir plusieurs bases de données. J'ai écrit ce script pour résoudre ce problème. En fonctionnement réel, ce script est utilisé pour créer une application qui exécute la série suivante.
Recommended Posts