解決df.to_csv()中文件名的問(wèn)題
df.to_csv()中文件名問(wèn)題
下午做了一下午的拆分?jǐn)?shù)據(jù)集,將具有相同母核的分子放在一個(gè)csv文件中,然后新的csv文件命名是母核的名字,然后拆分出的數(shù)據(jù)集和原始未拆分的數(shù)據(jù)集的數(shù)量總是對(duì)不上,我無(wú)語(yǔ)了,排查錯(cuò)誤了很久,我快吐了,最后發(fā)現(xiàn)是出在了下面這一行代碼上:
df_match.to_csv('drawimages/data/diffscaffold/{}.csv'.format(csv_name), index=False)
乍一看可能感覺沒問(wèn)題,確實(shí)也是可以存入數(shù)據(jù),但是里面有一個(gè)坑,就是 如果現(xiàn)在兩個(gè)母核是下面這兩種的時(shí)候(這兩個(gè)母核只有部分的原子大小寫不一致,但是他們是不一樣的),那么它只會(huì)存儲(chǔ)其中一種(大坑)!【原因:Windows會(huì)把這兩個(gè)雖然大小寫不一致的文件夾認(rèn)為是一種,且只能存在一種!】
所以會(huì)一直導(dǎo)致不能存儲(chǔ)所有的數(shù)據(jù),總是對(duì)不上數(shù)據(jù)。。。。
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) # 選取包含母核的行,并保存到一個(gè)新的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學(xué)習(xí)之to_csv()
用法:
df.to_csv(輸出路徑,參數(shù)1,參數(shù)2,,參數(shù)3...)
sep=',' ? #以逗號(hào) ,作為數(shù)據(jù)的分隔符,如果分隔符不為逗號(hào),則包含符雙引號(hào)”“就會(huì)消失。分隔符為Tab時(shí),寫法如下:df.to_csv('new.csv', sep='\t') na_rep='NA' ? #確實(shí)值保存為NA,如果不寫,默認(rèn)是空 ?? shkiprows= 10 ? # 跳過(guò)前十行 usecols=['column1', 'column2', 'column3'] # 讀取指定列 nrows = 10 ? # 只取前10行 chunksize=1000 # 分塊大小來(lái)讀取文件(每次讀取多少行),不一次性把文件數(shù)據(jù)讀入內(nèi)存中,而是分多次 parse_dates = ['col_name'] ? # 指定某行讀取為日期格式 index_col = ['col_1','col_2'] ? # 讀取指定的幾列 error_bad_lines = False ? # 當(dāng)某行數(shù)據(jù)有問(wèn)題時(shí),不報(bào)錯(cuò),直接跳過(guò),處理臟數(shù)據(jù)時(shí)使用 na_values = 'NULL' ? # 將NULL識(shí)別為空值 header=0 #不保存列名 index=0 ? #不保存行索引 columns=['name'] ? ? #保存索引列和name列 float_format='%.2f' ? ? ? ? #保留兩位小數(shù)
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
解決Python找不到ssl模塊問(wèn)題 No module named _ssl的方法
這篇文章主要介紹了解決Python找不到ssl模塊問(wèn)題 No module named _ssl的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-04-04對(duì)于Python異常處理慎用“except:pass”建議
這篇文章主要介紹了對(duì)于Python異常處理方法的建議,摘選自StackOverflow上的熱門問(wèn)題的回答,闡述了except:pass的使用時(shí)需要注意的地方,需要的朋友可以參考下2015-04-04Spring @Enable模塊驅(qū)動(dòng)原理及使用實(shí)例
這篇文章主要介紹了Spring @Enable模塊驅(qū)動(dòng)原理及使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06使用Python創(chuàng)建LNK文件選擇器并導(dǎo)出配置文件
在這篇博客中,我將介紹如何使用Python的wxPython庫(kù)開發(fā)一個(gè)GUI應(yīng)用程序,該應(yīng)用程序可以選擇文件夾中的.lnk(快捷方式)文件,并將選中的文件導(dǎo)出為特定格式的buttons.ini配置文件,需要的朋友可以參考下2025-01-01Python Django教程之實(shí)現(xiàn)天氣應(yīng)用程序
Django提供了一個(gè)基于Python Web框架的Web框架,允許快速開發(fā)和干凈,務(wù)實(shí)的設(shè)計(jì)。在本教程中,我們將學(xué)習(xí)如何創(chuàng)建一個(gè)使用Django作為后端的天氣應(yīng)用程序,感興趣的可以嘗試一下2022-10-10Python連接es筆記之創(chuàng)建和刪除操作示例詳解
這篇文章主要為大家介紹了Python連接es筆記之創(chuàng)建和刪除操作示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05