删除重复的Pandas和SQLAlchemy

时间:2015-05-06 14:36:19

标签: python pandas sqlalchemy

我正在尝试为呼叫中心制作一个脚本,希望能够将数百万条记录从csv文件上传到数据库,从而过滤掉上传的所有重复电话号码。为此,我使用Pandas和SQLAlchemy

df = read_csv('test.csv')

rd = models.session.query(Test).all()

我知道pandas中有drop_duplicates()但只能找到从同一数据帧中删除重复项的示例。这是否适用于我的情况

更新:

这是我迄今为止感谢别人的帮助。

df = read_csv('phones.csv')

result_dict = [u.__dict__ for u in models.session.query(Dedupe).all()]

df['tel'] = df.index

rd = DataFrame.from_dict(result_dict)

print df[~df['tel'].isin(rd['tel'].unique())]

它仍然打印出所有的csv。即使有重复

1 个答案:

答案 0 :(得分:2)

我认为这说明了如何检查数据库中的电话号码。

In [59]:  data = pd.DataFrame(range(10), columns=['number'])

In [60]: data
Out[60]: 
   number
0       0
1       1
2       2
3       3
4       4
5       5
6       6
7       7
8       8
9       9

In [61]: check = range(5)

In [62]: check
Out[62]: [0, 1, 2, 3, 4]

In [63]: data = data[~data['number'].isin(check)]

In [64]: data
Out[64]: 
   number
5       5
6       6
7       7
8       8
9       9

数据替换为您的上传表格,检查将需要成为您数据库中查询的电话号码列表。