a文件里面第一列为0,1 ,3 ,4 ,5,6, 7,8,9,10,13,第二列为1,2,3,4,5,6,7,8,,9,10,11,b文件只有一列,其为1,4,5,6,用python写一个脚本找到a文件第一列中与b文件相同的元素,并去除掉该元素在a文件中所在的行数,并保存到mesh.dat文件中
时间: 2023-08-10 16:04:36 浏览: 65
按照矩阵第一列元素是否相同,进行矩阵分割
可以使用pandas库来读取和处理文件,具体代码如下:
```python
import pandas as pd
# 读取a文件和b文件
a_df = pd.read_csv('a.csv', header=None)
b_df = pd.read_csv('b.csv', header=None)
# 找到a文件第一列中与b文件相同的元素
a_filtered = a_df[~a_df[0].isin(b_df[0])]
# 保存结果到mesh.dat文件中
a_filtered.to_csv('mesh.dat', header=None, index=None)
```
解释一下代码:
1. 首先使用`pd.read_csv`函数读取a文件和b文件,其中`header=None`表示文件中没有列名。
2. 使用`~a_df[0].isin(b_df[0])`来找到a文件第一列中与b文件不同的元素,即在b文件中没有出现过的元素。这里使用了pandas的isin函数来判断元素是否在b文件中出现过,`~`表示取反。
3. 最后将结果保存到mesh.dat文件中,使用`to_csv`函数,`header=None`表示不保存列名,`index=None`表示不保存行号。
阅读全文