当向数据库中插入数据时,字段 B 为int类型,其中包含非法字符 -,这里解决方式是替换为空值,在传入数据库的过程会自动由pandas的NaN转化为sql的null。
import pandas as pd
import numpy as np
df = pd.DataFrame({'A': [0, 1, 2, 3, 4],
'B': ['5', '-', 7, 8, 9],
'C': ['a', '-', 'c ', 'd', 'e']})
df.replace("-", np.NaN, inplace=True)
print(df)
替换前输出效果:
A B C
0 0 5 a
1 1 - -
2 2 7 c
3 3 8 d
4 4 9 e
替换后效果:
A B C
0 0 5 a
1 1 NaN NaN
2 2 7 c
3 3 8 d
4 4 9 e