我无法控制csv
中的null
值,因为它是由不同的系统上传的,但当我尝试将数据从csv
移动到mysql
时,null
值面临问题。它是一个可空列,没有约束。示例值:
subject_name subject_code subject_type描述Pyro PY专业烟火技术选修这是一个主题生物学BIO专业这是一个主题动物学动物园专业这是一个主题
Python插入第一行并以mysql错误信息终止。
Error Message: There is no traceback I just received below error message
Error while connecting to MySQL 1054 (42S22): Unknown column 'nan' in 'field list'
注意:如果csv. sample data中没有空值,则代码工作正常
import pandas as pd
import sys
import datetime
filePath = str(sys.argv[1])
df = pd.read_csv(filePath)
df.head()
for i,row in df.iterrows():
#here %S means string values
value = None
sql = "INSERT INTO simple.subj_stg VALUES (%s,%s,%s,%s,%s,%s,%s,%s)"
cursor.execute(sql, tuple(row.to_list() + [cre_usr_id,actn_usr_id,updt_usr_id,cre_ts]) )
print("Record inserted")
# the connection is not auto committed by default, so we must commit to save our changes
conn.commit()
1条答案
按热度按时间jk9hmnmh1#
用df.fillna(“Null”,inplace = True)填充空列,然后从python运行insert语句到mysql