python拆分pubchem SDF文件


从pubchem下载的sdf文件是一个压缩格式,一个sdf里面有多个化学物质,需要拆分开单独保存,

先将大的sdf拆分成一个个单独的sdf小文件,然后再读取每一行小文件的第一行获取CID编号

# coding=utf-8

def splitSDF():
    file_name = "48600001_48625000.sdf"
    # 读取的文件内容保存在列表里
    file_str_list = []
    # 设置文件索引
    index = 0
    # import pdb
    # pdb.set_trace()
    with open(file_name, 'r+') as f:
        for ln in f:
            if ln != "$$$$\n":
                file_str_list.append(ln)
            else:
                # 将对应的内容按照索引写入文件
                index = index + 1
                with open('{0}.sdf'.format(index), 'w+') as wt:
                    for ds in file_str_list:
                        wt.write(ds)
                file_str_list = []


if __name__ == '__main__':
    splitSDF()

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM