大文件csv中遍历所有列,如果一列中第二个数不为0,第三个数为-100,则删除该行
时间: 2023-06-17 16:08:10 浏览: 37
你可以使用Python中的csv模块来遍历csv文件中的所有列,并在满足条件时删除该行。以下是一个示例代码:
```python
import csv
with open('example.csv', 'r') as file:
reader = csv.reader(file)
lines_to_remove = []
for row in reader:
if len(row) >= 3 and row[1] != '0' and row[2] == '-100':
lines_to_remove.append(row)
file.seek(0)
writer = csv.writer(file)
for row in reader:
if row not in lines_to_remove:
writer.writerow(row)
file.truncate()
```
这个示例代码做了以下几件事情:
1. 打开名为example.csv的csv文件,并创建一个csv reader对象。
2. 遍历csv文件中的每一行,并检查第二个数是否为0,第三个数是否为-100。如果是,则将该行添加到一个待删除列表中。
3. 将文件指针移回文件开头,并创建一个csv writer对象。
4. 再次遍历csv文件中的每一行,并检查该行是否在待删除列表中。如果不是,则将该行写入文件中。
5. 最后使用truncate()方法将文件截断到当前文件位置。
请注意,在直接修改csv文件时,最好备份原始文件以防意外情况。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)