怎么用python把csv格式转为sdf格式
时间: 2023-09-22 19:05:56 浏览: 272
sdf:Python中简单的SDF网格生成
要将CSV格式转换为SDF格式,需要使用Python中的pandas和RDKit库。以下是转换的步骤:
1. 安装pandas和RDKit库:
```python
pip install pandas
pip install rdkit
```
2. 导入库:
```python
import pandas as pd
from rdkit import Chem
from rdkit.Chem import PandasTools
```
3. 读取CSV文件:
```python
df = pd.read_csv('filename.csv')
```
4. 将CSV文件转换为分子对象:
```python
df['Molecule'] = df['SMILES'].apply(lambda x: Chem.MolFromSmiles(x))
```
5. 将分子对象转换为SDF格式并保存:
```python
PandasTools.WriteSDF(df, 'filename.sdf')
```
完整代码示例:
```python
import pandas as pd
from rdkit import Chem
from rdkit.Chem import PandasTools
df = pd.read_csv('filename.csv')
df['Molecule'] = df['SMILES'].apply(lambda x: Chem.MolFromSmiles(x))
PandasTools.WriteSDF(df, 'filename.sdf')
```
注意:在转换过程中,需要确保CSV文件中包含SMILES列,并且SMILES列中的分子结构是有效的。如果SMILES列中存在无效的分子结构,将会出现转换错误。
阅读全文