CSV中的空值导致通过python将数据移动到mysql时出现问题

dpiehjr4  于 2023-01-16  发布在  Python
关注(0)|答案(1)|浏览(118)

我无法控制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()
jk9hmnmh

jk9hmnmh1#

用df.fillna(“Null”,inplace = True)填充空列,然后从python运行insert语句到mysql

相关问题