要将每行内容为门到种,并以分号分割的分类表构建为 nodes.dmp 和 names.dmp 文件,可以使用以下 Python 代码:\n\npython\nimport csv\n\ndef create_dmp_files(input_file, nodes_file, names_file):\n nodes = {}\n names = {}\n \n with open(input_file, 'r') as file:\n reader = csv.reader(file, delimiter=';')\n for row in reader:\n tax_id, parent_id, rank, name = row\n nodes[tax_id] = (parent_id, rank)\n names[tax_id] = name\n \n with open(nodes_file, 'w') as file:\n for tax_id, (parent_id, rank) in nodes.items():\n file.write(f"{tax_id}\t|\t{parent_id}\t|\t{rank}\n")\n \n with open(names_file, 'w') as file:\n for tax_id, name in names.items():\n file.write(f"{tax_id}\t|\t|\t{name}\t|\n")\n\n# Example usage\ninput_file = 'input.csv'\nnodes_file = 'nodes.dmp'\nnames_file = 'names.dmp'\ncreate_dmp_files(input_file, nodes_file, names_file)\n\n\n上述代码中,input_file 是包含分类表数据的 CSV 文件,每行由门、目、科、属、种等信息组成,以分号分割。nodes_filenames_file 分别是输出的 nodes.dmp 和 names.dmp 文件。\n\n代码首先使用 csv.reader 读取输入文件,将每行数据解析为 tax_id、parent_id、rank 和 name。然后,使用字典 nodesnames 分别存储节点和名称信息。\n\n接下来,代码分别将节点信息和名称信息写入 nodes.dmp 和 names.dmp 文件。写入过程中,使用制表符分割各字段,并在最后加上换行符。\n\n请根据实际情况,将上述代码中的输入文件名和输出文件名替换为实际的文件名。

Python 构建分类表节点和名称文件 (nodes.dmp 和 names.dmp)

原文地址: https://www.cveoy.top/t/topic/pXMk 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录