python如何从没有表头的csv文件中筛选出与txt文件存在相同的数据的行,并写入新的csv文件中
时间: 2024-02-15 18:03:33 浏览: 127
Python读csv文件去掉一列后再写入新的文件实例
5星 · 资源好评率100%
可以通过以下步骤来实现:
1. 读取txt文件中的数据,存储到一个列表中。
2. 逐行读取csv文件,将每行数据存储到一个列表中。
3. 对于每一行数据,在列表中查找是否存在与txt文件相同的数据。
4. 如果存在匹配的数据,将该行数据写入一个新的csv文件中。
下面是示例代码:
```python
import csv
# 读取txt文件中的数据
with open('data.txt', 'r') as f:
txt_data = [line.strip() for line in f.readlines()]
# 读取csv文件中的数据,并筛选出匹配的数据
with open('data.csv', 'r') as f, open('matched_data.csv', 'w', newline='') as outfile:
reader = csv.reader(f)
writer = csv.writer(outfile)
header = next(reader) # 跳过表头
writer.writerow(header) # 写入表头到新的csv文件中
for row in reader:
if row[0] in txt_data:
writer.writerow(row) # 写入匹配的行数据到新的csv文件中
```
注意,这个示例代码假设csv文件中的第一列是需要匹配的数据,如果不是,请根据实际情况进行修改。此外,由于csv文件没有表头,因此在新的csv文件中也不会有表头。如果需要添加表头,请将表头写入新文件的第一行。
阅读全文