From: Shane Jaroch Date: Tue, 4 Aug 2020 19:02:45 +0000 (-0400) Subject: add tables, touchup process.py X-Git-Tag: 0.0.1~8 X-Git-Url: https://git.nutra.tk/v1?a=commitdiff_plain;h=d02ed47a0e17e6d2a1e381079e29c9dde08e3ee6;p=nutratech%2Fusda-sqlite.git add tables, touchup process.py --- diff --git a/data/dep-graph.yml b/data/dep-graph.yml index 71e12aa..dcffe81 100644 --- a/data/dep-graph.yml +++ b/data/dep-graph.yml @@ -7,6 +7,6 @@ - LANGDESC - LANGUAL - DATA_SRC - - DATASRCLN + - DATSRCLN - WEIGHT - FOOTNOTE diff --git a/data/import.sql b/data/import.sql index 20a0581..30b528c 100644 --- a/data/import.sql +++ b/data/import.sql @@ -4,5 +4,22 @@ .import '| tail -n +2 nt/fdgrp.csv' fdgrp .import '| tail -n +2 nt/food_des.csv' food_des + +.import '| tail -n +2 nt/src_cd.csv' src_cd +.import '| tail -n +2 nt/deriv_cd.csv' deriv_cd +-- .import '| tail -n +2 nt/nut_data.csv' nut_data + + +.import '| tail -n +2 nt/lang_desc.csv' lang_desc +.import '| tail -n +2 nt/langual.csv' langual + +-- .import '| tail -n +2 nt/data_src.csv' data_src +-- .import '| tail -n +2 nt/datsrcln.csv' datsrcln + +.import '| tail -n +2 nt/serv_desc.csv' serv_desc +.import '| tail -n +2 nt/serving.csv' serving + +.import '| tail -n +2 nt/footnote.csv' footnote + .header on .mode column diff --git a/data/process.py b/data/process.py index 215d630..2fbd04f 100644 --- a/data/process.py +++ b/data/process.py @@ -19,6 +19,13 @@ import os import shutil import sys +# Check Python version +if sys.version_info < (3, 7, 0): + ver = ".".join([str(x) for x in sys.version_info[0:3]]) + print("ERROR: this requires Python 3.7.0 or later to run") + print("HINT: You're running Python " + ver) + exit(1) + # change to script's dir os.chdir(os.path.dirname(os.path.abspath(__file__))) shutil.rmtree("nt", True) @@ -34,8 +41,8 @@ output_files = { "SR-Leg_DB/DERIV_CD.csv": "nt/deriv_cd.csv", "SR-Leg_DB/LANGDESC.csv": "nt/lang_desc.csv", "SR-Leg_DB/LANGUAL.csv": "nt/langual.csv", - "SR-Leg_DB/DATA_SRC.csv": "nt/data_src.csv", - "SR-Leg_DB/DATSRCLN.csv": "nt/datsrcln.csv", + # "SR-Leg_DB/DATA_SRC.csv": "nt/data_src.csv", + # "SR-Leg_DB/DATSRCLN.csv": "nt/datsrcln.csv", "SR-Leg_DB/FOOTNOTE.csv": "nt/footnote.csv", "SR-Leg_DB/WEIGHT.csv": None, } @@ -73,6 +80,7 @@ def main(args): process_nutr_def() # process_nut_data() process_food_des() + process_data_srcs() for fname in output_files: print(fname) @@ -279,6 +287,13 @@ def process_food_des(): writer.writerows(result) +# ----------------- +# Data sources +# ----------------- +def process_data_srcs(): + pass + + # ----------------- # Weight # ----------------- diff --git a/data/tables.sql b/data/tables.sql index 556ad7e..1c5c4c5 100644 --- a/data/tables.sql +++ b/data/tables.sql @@ -49,3 +49,90 @@ CREATE TABLE food_des ( FOREIGN KEY (fdgrp_id) REFERENCES fdgrp (id) ); +CREATE TABLE src_cd ( + id text PRIMARY KEY, + description text NOT NULL +); + +CREATE TABLE deriv_cd ( + id text PRIMARY KEY, + description text NOT NULL +); + +CREATE TABLE nut_data ( + NDB_No text, + Nutr_No text, + Nutr_Val double, + Num_Data_Pts int, + Std_Error double, + Src_Cd text, + Deriv_Cd text, + Ref_NDB_No text, + Add_Nutr_Mark text, + Num_Studies LONG, + Min double, + Max double, + DF LONG, + Low_EB double, + Up_EB double, + Stat_Cmt text, + AddMod_Date text +); + +CREATE TABLE lang_desc ( + id text PRIMARY KEY, + description text +); + +CREATE TABLE langual ( + food_id int NOT NULL, + factor_id text NOT NULL, + FOREIGN KEY (food_id) REFERENCES food_des (id), + FOREIGN KEY (factor_id) REFERENCES lang_desc (id) +); + +CREATE TABLE data_src ( + id text PRIMARY KEY, + authors text, + title text, + year text, + journal text, + vol_city text, + issue_state text, + start_page text, + end_page text +); + +CREATE TABLE datsrcln ( + food_id int NOT NULL, + nutr_id int NOT NULL, + data_src_id text NOT NULL, + FOREIGN KEY (food_id) REFERENCES food_des (id), + FOREIGN KEY (nutr_id) REFERENCES nutr_def (id), + FOREIGN KEY (data_src_id) REFERENCES data_src (id) +); + +CREATE TABLE footnote ( + food_id int NOT NULL, + footnt_no int NOT NULL, + footnt_typ text NOT NULL, + nutr_id int, + footnt_txt text NOT NULL, + FOREIGN KEY (food_id) REFERENCES food_des (id), + FOREIGN KEY (nutr_id) REFERENCES nutr_def (id) +); + +CREATE TABLE serv_desc ( + id integer PRIMARY KEY AUTOINCREMENT, + msre_desc text NOT NULL +); + +CREATE TABLE serving ( + food_id int NOT NULL, + msre_id int NOT NULL, + grams float NOT NULL, + num_data_pts int, + st_dev float, + FOREIGN KEY (msre_id) REFERENCES serv_desc (id) +); +