解決df.to_csv()中文件名的問題
df.to_csv()中文件名問題
下午做了一下午的拆分數(shù)據集,將具有相同母核的分子放在一個csv文件中,然后新的csv文件命名是母核的名字,然后拆分出的數(shù)據集和原始未拆分的數(shù)據集的數(shù)量總是對不上,我無語了,排查錯誤了很久,我快吐了,最后發(fā)現(xiàn)是出在了下面這一行代碼上:
df_match.to_csv('drawimages/data/diffscaffold/{}.csv'.format(csv_name), index=False)乍一看可能感覺沒問題,確實也是可以存入數(shù)據,但是里面有一個坑,就是 如果現(xiàn)在兩個母核是下面這兩種的時候(這兩個母核只有部分的原子大小寫不一致,但是他們是不一樣的),那么它只會存儲其中一種(大坑)!【原因:Windows會把這兩個雖然大小寫不一致的文件夾認為是一種,且只能存在一種!】
所以會一直導致不能存儲所有的數(shù)據,總是對不上數(shù)據。。。。

O=C(NCc1ccccc1)c1c(Cc2ccccc2)sc2c1CCOC2
O=C(NCC1CCCCC1)c1c(Cc2ccccc2)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))Pandas學習之to_csv()
用法:
df.to_csv(輸出路徑,參數(shù)1,參數(shù)2,,參數(shù)3...)
sep=',' ? #以逗號 ,作為數(shù)據的分隔符,如果分隔符不為逗號,則包含符雙引號”“就會消失。分隔符為Tab時,寫法如下:df.to_csv('new.csv', sep='\t')
na_rep='NA' ? #確實值保存為NA,如果不寫,默認是空 ??
shkiprows= 10 ? # 跳過前十行
usecols=['column1', 'column2', 'column3'] # 讀取指定列
nrows = 10 ? # 只取前10行
chunksize=1000 # 分塊大小來讀取文件(每次讀取多少行),不一次性把文件數(shù)據讀入內存中,而是分多次
parse_dates = ['col_name'] ? # 指定某行讀取為日期格式
index_col = ['col_1','col_2'] ? # 讀取指定的幾列
error_bad_lines = False ? # 當某行數(shù)據有問題時,不報錯,直接跳過,處理臟數(shù)據時使用
na_values = 'NULL' ? # 將NULL識別為空值
header=0 #不保存列名
index=0 ? #不保存行索引
columns=['name'] ? ? #保存索引列和name列
float_format='%.2f' ? ? ? ? #保留兩位小數(shù)總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
解決Python找不到ssl模塊問題 No module named _ssl的方法
這篇文章主要介紹了解決Python找不到ssl模塊問題 No module named _ssl的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-04-04
使用Python創(chuàng)建LNK文件選擇器并導出配置文件
在這篇博客中,我將介紹如何使用Python的wxPython庫開發(fā)一個GUI應用程序,該應用程序可以選擇文件夾中的.lnk(快捷方式)文件,并將選中的文件導出為特定格式的buttons.ini配置文件,需要的朋友可以參考下2025-01-01
Python Django教程之實現(xiàn)天氣應用程序
Django提供了一個基于Python Web框架的Web框架,允許快速開發(fā)和干凈,務實的設計。在本教程中,我們將學習如何創(chuàng)建一個使用Django作為后端的天氣應用程序,感興趣的可以嘗試一下2022-10-10
Python連接es筆記之創(chuàng)建和刪除操作示例詳解
這篇文章主要為大家介紹了Python連接es筆記之創(chuàng)建和刪除操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05

