適用場景:
插入數據到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