【发布时间】:2018-06-05 12:09:24
【问题描述】:
我正在尝试使用 python pandas 从多个 csv 文件创建一个 CSV 文件。
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 连接并通过匹配 pid 列值插入 id 和 survery_year 列值。
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"
我可以在 panda 中读取 csv
df = pd.read_csv("accreditation.csv")
但是,阅读 REFERENCES 指令并选择列值的推荐方法是什么。如果没有值,则该列应为空白。
我们不能在熊猫功能中硬核pid。我们必须阅读table_structure.csv 并匹配是否有参考,然后调用提到的列。它不应该被合并,只应该添加特定的列。
【问题讨论】: