import pandas as pd # 读取CSV文件 df = pd.read_csv('day01改改.csv') # 遍历指定列,删除不符合条件的行 for index, row in df.iterrows(): if row['app_type'] != 0 and row['app_type'] != 1: df.drop(index, inplace=True) break # 重置行索引 df.reset_index(drop=True, inplace=True) # 将更新后的数据写入CSV文件 df.to_csv('day01改改.csv', index=False) #%% 为什么一直运行没结果
时间: 2024-04-17 22:26:37 浏览: 19
在你的代码中,你尝试在遍历行并删除不符合条件的行后,将更新后的数据写回到原始的CSV文件。这可能导致问题,因为你同时在读取和写入同一个文件。这样做可能导致文件锁定或者覆盖正在打开的文件的问题。
为了解决这个问题,你可以尝试将更新后的数据写入一个新的CSV文件,而不是覆盖原始的文件。请尝试以下代码:
```python
import pandas as pd
# 读取CSV文件
df = pd.read_csv('day01改改.csv')
# 创建一个新的DataFrame来存储更新后的数据
updated_df = pd.DataFrame(columns=df.columns)
# 遍历指定列,筛选出符合条件的行
for index, row in df.iterrows():
if row['app_type'] == 0 or row['app_type'] == 1:
updated_df = updated_df.append(row)
# 重置行索引
updated_df.reset_index(drop=True, inplace=True)
# 将更新后的数据写入新的CSV文件
updated_df.to_csv('updated_day01改改.csv', index=False)
```
在这个示例中,我们创建了一个新的DataFrame对象`updated_df`来存储符合条件的行。然后,我们使用`append()`方法将符合条件的行添加到`updated_df`中。最后,我们将更新后的数据写入一个新的CSV文件`updated_day01改改.csv`。
请注意,在这个示例中,我们使用了一个新的CSV文件来存储更新后的数据,而原始的CSV文件保持不变。这样可以避免在读取和写入同一个文件时出现冲突。你可以根据需要修改文件名和路径。