解决df.to_csv()中文件名的问题

 更新时间:2023年08月03日 09:32:18   作者:HealthScience  
这篇文章主要介绍了解决df.to_csv()中文件名的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

df.to_csv()中文件名问题

下午做了一下午的拆分数据集,将具有相同母核的分子放在一个csv文件中,然后新的csv文件命名是母核的名字,然后拆分出的数据集和原始未拆分的数据集的数量总是对不上,我无语了,排查错误了很久,我快吐了,最后发现是出在了下面这一行代码上:

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

乍一看可能感觉没问题,确实也是可以存入数据,但是里面有一个坑,就是 如果现在两个母核是下面这两种的时候(这两个母核只有部分的原子大小写不一致,但是他们是不一样的),那么它只会存储其中一种(大坑)!【原因:Windows会把这两个虽然大小写不一致的文件夹认为是一种,且只能存在一种!

所以会一直导致不能存储所有的数据,总是对不上数据。。。。

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(输出路径,参数1,参数2,,参数3...)

sep=','   #以逗号 ,作为数据的分隔符,如果分隔符不为逗号,则包含符双引号”“就会消失。分隔符为Tab时,写法如下:df.to_csv('new.csv', sep='\t')
na_rep='NA'   #确实值保存为NA,如果不写,默认是空   
shkiprows= 10   # 跳过前十行
usecols=['column1', 'column2', 'column3'] # 读取指定列
nrows = 10   # 只取前10行
chunksize=1000 # 分块大小来读取文件(每次读取多少行),不一次性把文件数据读入内存中,而是分多次
parse_dates = ['col_name']   # 指定某行读取为日期格式
index_col = ['col_1','col_2']   # 读取指定的几列
error_bad_lines = False   # 当某行数据有问题时,不报错,直接跳过,处理脏数据时使用
na_values = 'NULL'   # 将NULL识别为空值
header=0 #不保存列名
index=0   #不保存行索引
columns=['name']     #保存索引列和name列
float_format='%.2f'         #保留两位小数

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python中enumerate函数用法实例分析

    python中enumerate函数用法实例分析

    这篇文章主要介绍了python中enumerate函数用法,以实例形式较为详细的分析了enumerate函数的功能、定义及使用技巧,需要的朋友可以参考下
    2015-05-05
  • 遗传算法python版

    遗传算法python版

    这篇文章主要为大家详细介绍了python实现遗传算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python字符串逐字符或逐词反转方法

    Python字符串逐字符或逐词反转方法

    这篇文章主要介绍了Python字符串逐字符或逐词反转方法,本文对逐字符或逐词分别给出两种方法,需要的朋友可以参考下
    2015-05-05
  • Linux下使用python自动修改本机网关代码分享

    Linux下使用python自动修改本机网关代码分享

    这篇文章主要介绍了Linux下使用python自动修改本机网关代码分享,本文直接给出实现代码,需要的朋友可以参考下
    2015-05-05
  • Python脚本实现datax全量同步mysql到hive

    Python脚本实现datax全量同步mysql到hive

    这篇文章主要和大家分享一下mysql全量同步到hive自动生成json文件的python脚本,文中的示例代码讲解详细,有需要的小伙伴可以参加一下
    2024-10-10
  • 详细探究Python中的字典容器

    详细探究Python中的字典容器

    这篇文章主要介绍了Python中的字典容器,本文来自于IBM官方网站技术文档,需要的朋友可以参考下
    2015-04-04
  • python字典遍历数据的具体做法

    python字典遍历数据的具体做法

    在本篇文章里小编给大家整理了一篇关于python字典遍历数据的具体做法及相关代码,有需要的朋友们可以跟着学习下。
    2021-07-07
  • 解决python运行效率不高的问题

    解决python运行效率不高的问题

    在本篇文章中小编给大家分享了关于解决python运行效率不高的问题,有需要的朋友们可以跟着学习下。
    2020-07-07
  • 基于python的socket实现单机五子棋到双人对战

    基于python的socket实现单机五子棋到双人对战

    这篇文章主要为大家详细介绍了基于python的socket实现单机五子棋到双人对战,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-06-06
  • python实现ROA算子边缘检测算法

    python实现ROA算子边缘检测算法

    这篇文章主要为大家详细介绍了python实现ROA算子边缘检测算法,以光学图像为例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04

最新评论