Я пытаюсь создать CSV-файл из нескольких CSV-файлов, используя панд Python.
accreditation.csv
: -
"pid","accreditation_body","score"
"25799","TAAC","4.5"
"25796","TAAC","5.6"
"25798","DAAC","5.7"
ref_university
: -
"id","pid","survery_year","end_year"
"1","25799","2018","2018"
"2","25797","2016","2018"
Я хочу создать новую таблицу, прочитав инструкцию из table_structure.csv
.Я хочу объединить две таблицы и переписать accreditation.csv
.REFERENCES ref_university(id, survey_year)
соединяется с ref_university.csv
и вставляет значение столбцов id
и survery_year
путем сопоставления значения столбца pid
.
table_structure.csv
: -
table_name,attribute_name,attribute_type,Description
,,,
accreditation,accreditation_body,varchar,
,grading,varchar,
,pid,int4, "REFERENCES ref_university(id, survey_year)"
,score,float8,
ИзмененоCSV-файл должен выглядеть следующим образом:
Новый accreditation.csv
: -
"accreditation_body","grading","pid","id","survery_year","score"
"TAAC","","25799","1","2018","2018","4.5"
"TAAC","","25797","2","2016","2018","5.6"
"DAAC","","25798","","","","5.7"
Я могу прочитать CSV в Panda
df = pd.read_csv("accreditation.csv")
Но, как это рекомендуетсяпрочитать инструкцию REFERENCES и выбрать значение столбцов.Если значения нет, столбец должен быть пустым.Мы не можем хардкор pid
в функции панды.Мы должны прочитать table_structure.csv
и сопоставить, если есть ссылка, затем вызвать упомянутые столбцы.Его не следует объединять, следует добавить только определенные столбцы.