[バグ記録] df.to_csv() のファイル名の問題

今日の午後、分割データ セットを作成し、同じ親核を持つ分子を csv ファイルに入れました。次に、新しい csv ファイルに親核の名前を付け、分割データ セットと元の未分割の数をデータセットは常に正しくありません。私は言葉を失い、長い間トラブルシューティングを行ってきました。吐きそうになりましたが、最終的に次のコード行にあることがわかりました。

df_match.to_csv('drawimages/data/diffscaffold/{}.csv'.format(csv_name), index=False)

一見大丈夫そうに見えるかもしれませんが、確かにデータを保存することは可能ですが、そこには落とし穴があります。コアに一貫性がありませんが同じではありません)、そのうちの 1 つだけを格納します (大きな穴) ! [理由: Windows は、大文字と小文字が一致しないこれら 2 つのフォルダーを 1 つのタイプと見なし、存在できるのは 1 つのタイプのみです! 】ということで、必ず全てのデータを格納できず、データの照合に必ず失敗します。. . .

 O=C(NCc1ccccc1)c1c(Cc2cccccc2)sc2c1CCOC2

O=C(NCC1CCCCC1)c1c(Cc2cccccc2)sc2c1CCOC2

コードを次のように変更するだけです。

for i, core in enumerate(core_list):
    matches = []
    for j, smiles in enumerate(smiles_list):
        mol = Chem.MolFromSmiles(smiles)
        core_mol = Chem.MolFromSmiles(core)
        if mol.HasSubstructMatch(core_mol):
            matches.append(j)

    # 选取包含母核的行,并保存到一个新的csv文件中
    df_match = df.iloc[matches]
    df_match.to_csv('drawimages/data/diffscaffold/{}.csv'.format(i+1), index=False)
    print("{}.csv is done! ".format(i+1))

おすすめ

転載: blog.csdn.net/weixin_43135178/article/details/130508700