python如何从csv文件中抽出一列并去重后写入一个csv文件中?
时间: 2023-10-05 14:13:46 浏览: 81
可以使用Python内置的csv模块来进行操作,具体步骤如下:
1. 打开原始的csv文件,并读取需要抽取的列,并将其存储到一个列表中。
```python
import csv
with open('original.csv', 'r') as f:
reader = csv.reader(f)
column = [row[0] for row in reader] # 假设需要抽取第一列
```
2. 对列表进行去重操作。
```python
column = list(set(column))
```
3. 打开目标csv文件,并将去重后的数据写入其中。
```python
with open('result.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in column:
writer.writerow([row])
```
完整代码如下所示:
```python
import csv
with open('original.csv', 'r') as f:
reader = csv.reader(f)
column = [row[0] for row in reader] # 假设需要抽取第一列
column = list(set(column))
with open('result.csv', 'w', newline='') as f:
writer = csv.writer(f)
for row in column:
writer.writerow([row])
```
注意:在写入csv文件时,应该使用`csv.writer`而不是直接使用文件对象进行写入操作,这样可以保证写入的数据格式正确。同时,在打开文件时,需要指定文件模式为`'w'`(写入模式),并且设置`newline=''`参数,这样可以避免写入的数据出现空行。
阅读全文