适用场景:
插入数据到mysql中,中途中断,导致部分数据未插入成功。避免下次插入时插入了重复的数据。
思路:
1、读取已插入的数据,
2、读取全部数据(包含已插入和未插入的),
3、将已插入的数据添加到全部数据中,产生重复数据,
4、删除所有重复的数据。
示例代码:
import pandas as pd import numpy as np df = pd.DataFrame(np.arange(15).reshape((5, 3))) # 总数据 # 输出df: 0 1 2 0 0 1 2 1 3 4 5 2 6 7 8 3 9 10 11 4 12 13 14 df2 = df[:3] # 已插入的数据 # 输出df2: 0 1 2 0 0 1 2 1 3 4 5 2 6 7 8 df = df.append(df2) # 将已插入的数据添加到全部数据里面,生成重复数据 df = df.append(df2) # 需要添加两次,避免将df2在df中没有的数据添加了 # 输出df: 0 1 2 0 0 1 2 1 3 4 5 2 6 7 8 3 9 10 11 4 12 13 14 0 0 1 2 1 3 4 5 2 6 7 8 0 0 1 2 1 3 4 5 2 6 7 8 df = df.drop_duplicates(keep=False) # 删除具有重复数据的行,即得到差集 # 输出df: 0 1 2 3 9 10 11 4 12 13 14