写一个python脚本,将三个txt文件的第一列作为输入做韦恩图,得出交集,输出韦恩图以及交集部分,将交集部分保存为一列的txt文件
时间: 2023-10-02 17:06:03 浏览: 174
好的,以下是一个实现该功能的 Python 脚本:
```python
import matplotlib.pyplot as plt
# 读取三个 txt 文件中的数据
file1 = open('file1.txt', 'r')
file2 = open('file2.txt', 'r')
file3 = open('file3.txt', 'r')
data1 = set([line.split()[0] for line in file1])
data2 = set([line.split()[0] for line in file2])
data3 = set([line.split()[0] for line in file3])
# 绘制韦恩图
plt.figure(figsize=(6,6))
plt.title("Venn Diagram")
plt.gca().axis('off')
venn = plt.venn3([data1, data2, data3], ('File1', 'File2', 'File3'))
# 获取交集部分
intersection = set(venn.get_label_by_id('111').get_text().split('\n')[:-1])
# 输出交集部分
with open('intersection.txt', 'w') as f:
for item in intersection:
f.write("%s\n" % item)
```
你需要将 "file1.txt", "file2.txt", "file3.txt" 替换为你实际的文件名。韦恩图会以弹窗的形式展示在屏幕上,同时交集部分也会保存到 "intersection.txt" 文件中。
阅读全文