读取csv文件 df = pd.read_csv('加压压缩机第1个设备事故场景.csv',encoding='gbk',dtype=str) # 找到所有重复的行 duplicates = df[df.duplicated(keep=False)] # 根据重复行进行分组 groups = duplicates.groupby(list(duplicates.columns)) # 遍历每个分组,将重复行写入新的csv文件 for _, group in groups: group.to_csv('duplicates.csv', mode='a', header=False, index=False,encoding='gbk')为什么没有输出duplicate.csv文件到磁盘中
时间: 2024-01-07 07:05:51 浏览: 165
这段代码中,每次遍历分组时都使用了 mode='a',表示以追加模式打开文件。如果第一次执行时文件不存在,就会创建一个新的文件,但是如果该文件已经存在,则新的数据会被添加到文件的末尾。因此,如果之前已经运行过这段代码并且生成了 duplicates.csv 文件,那么后续运行时不会再次创建该文件,只会将数据追加到文件末尾。你可以检查一下你的代码所在的目录中是否已经存在 duplicates.csv 文件,如果存在的话,可以手动删除该文件,然后重新执行代码,看看是否能够生成新的 duplicates.csv 文件。
相关问题
# 读取csv文件 df = pd.read_csv('加压压缩机第1个设备事故场景.csv',encoding='gbk',dtype=str) # 找到所有重复的行 duplicates = df[df.duplicated(keep=False)] # 根据重复行进行分组 groups = duplicates.groupby(list(duplicates.columns)) # 遍历每个分组,将重复行写入新的csv文件 for _, group in groups: group.to_csv('duplicates.csv', mode='a', header=False, index=False,encoding='gbk')为什么没有输出duplicate.csv文件到磁盘中
这段代码中,每次遍历分组时都使用了 mode='a',表示以追加模式打开文件。如果第一次执行时文件不存在,就会创建一个新的文件,但是如果该文件已经存在,则新的数据会被添加到文件的末尾。因此,如果之前已经运行过这段代码并且生成了 duplicates.csv 文件,那么后续运行时不会再次创建该文件,只会将数据追加到文件末尾。你可以检查一下你的代码所在的目录中是否已经存在 duplicates.csv 文件,如果存在的话,可以手动删除该文件,然后重新执行代码,看看是否能够生成新的 duplicates.csv 文件。
import pandas as pd # 读取csv文件 df = pd.read_csv('uniform.csv',encoding='gbk',dtype=str) # 找到所有重复的行 duplicates = df[df.duplicated(keep=False)] # 根据重复行进行分组 groups = duplicates.groupby(list(duplicates.columns)) # 遍历每个分组,将重复行写入新的csv文件 for _, group in groups: group.to_csv('duplicates.csv', mode='a', header=False, index=False,encoding='gbk')为什么没有输出duplicates.csv文件?
可能是因为在遍历每个分组时,使用了 mode='a' 参数,它的作用是将新内容追加到已有文件的末尾,而如果文件不存在,则会新建一个文件。但是在第一次写入时,由于文件不存在,Python 会自动新建文件并写入内容,但此时文件指针已经到达文件末尾,再次写入时就会直接跳过,导致没有写入新的内容。
可以尝试在代码开头加入以下语句,以确保每次运行时都会新建一个文件:
```python
import os
if os.path.exists('duplicates.csv'):
os.remove('duplicates.csv')
```
这样每次运行代码时,如果存在旧文件,就会先删除旧文件,然后重新创建一个新文件进行写入。
阅读全文