Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 当我插入数据时,数据将接近&引用;语法错误_Excel_Python 3.x_Sqlite - Fatal编程技术网

Excel 当我插入数据时,数据将接近&引用;语法错误

Excel 当我插入数据时,数据将接近&引用;语法错误,excel,python-3.x,sqlite,Excel,Python 3.x,Sqlite,当我将excel数据插入sqlite数据时,它会显示一些语法错误,我不知道这是哪里的错误 import sqlite3 from openpyxl import * from sqlite3 import Error def create_db(db_file): try: conn = sqlite3.connect(db_file) return conn except Error as e: print(e) def

当我将excel数据插入sqlite数据时,它会显示一些语法错误,我不知道这是哪里的错误

import sqlite3
from openpyxl import *
from sqlite3 import Error


def create_db(db_file):
    try:
        conn = sqlite3.connect(db_file)
        return conn
    except Error as e:
        print(e)


def execute_sql(conn, sql):
    try:
        c = conn.cursor()
        c.execute(sql)
    except Error as e:
        print(e)


if __name__ == '__main__':
    create_table_inspections = "CREATE TABLE if not exists inspections(" \
                               "activity_date DATE NOT NULL," \
                               "employee_id VARCHAR(15) NOT NULL," \
                               "facility_address VARCHAR(100) NOT NULL," \
                               "facility_city VARCHAR(80) NOT NULL," \
                               "facility_id VARCHAR(15) NOT NULL," \
                               "facility_name VARCHAR(100) NOT NULL," \
                               "facility_state VARCHAR(10) NOT NULL," \
                               "facility_zip VARCHAR(15) NOT NULL," \
                               "grade VARCHAR(1) NOT NULL," \
                               "owner_id VARCHAR(15) NOT NULL," \
                               "owner_name VARCHAR(80) NOT NULL," \
                               "pe_description VARCHAR(80) NOT NULL," \
                               "program_element_pe VARCHAR(4) NOT NULL," \
                               "program_name VARCHAR(80) NOT NULL," \
                               "program_status VARCHAR(10) NOT NULL," \
                               "record_id VARCHAR(15) NOT NULL," \
                               "score VARCHAR(10) NOT NULL," \
                               "serial_number VARCHAR(20) NOT NULL," \
                               "service_code VARCHAR(15) NOT NULL," \
                               "service_description VARCHAR(80) NOT NULL);"


    conn = create_db("data2.db")

    if conn is not None:

        execute_sql(conn, create_table_inspections)



        print("loading inspections")
        data_inspections = load_workbook("inspections.xlsx")
        data_inspections_ws = data_inspections['inspections']

        print("done")
        print("read inspections")
        for i in data_inspections_ws:
            sql = """INSERT INTO inspections(
            activity_date,
            employee_id,
            facility_address,
            facility_city,
            facility_id,
            facility_name,
            facility_state,
            facility_zip,
            grade,
            owner_id,
            owner_name,
            pe_description,
            program_element_pe,
            program_name,
            program_status,
            record_id,
            score,
            serial_number,
            service_code,
            service_description) 
            VALUES
            ("{vactivity_date}",
            "{vemployee_id}",
            "{vfacility_address}",
            "{vfacility_city}",
            "{vfacility_id}",
            "{vfacility_name}",
            "{vfacility_state}",
            "{vfacility_zip}",
            "{vgrade}",
            "{vowner_id}",
            "{vowner_name}",
            "{vpe_description}",
            "{vprogram_element_pe}",
            "{vprogram_name}",
            "{vprogram_status}",
            "{vrecord_id}",
            "{vscore}",
            "{vserial_number}",
            "{vservice_code}",
            "{vservice_description}")"""

            sql = sql.format(vactivity_date=i[0].value,
                             vemployee_id=i[1].value,
                             vfacility_address=i[2].value,
                             vfacility_city=i[3].value,
                             vfacility_id=i[4].value,
                             vfacility_name=i[5].value,
                             vfacility_state=i[6].value,
                             vfacility_zip=i[7].value,
                             vgrade=i[8].value,
                             vowner_id=i[9].value,
                             vowner_name=i[10].value,
                             vpe_description=i[11].value,
                             vprogram_element_pe=i[12].value,
                             vprogram_name=i[13].value,
                             vprogram_status=i[14].value,
                             vrecord_id=i[15].value,
                             vscore=i[16].value,
                             vserial_number=i[17].value,
                             vservice_code=i[18].value,
                             vservice_description=i[19].value)
            execute_sql(conn, sql)
            pass
        print("Done")
    conn.commit()
    conn.close()

您应该使用三个引号来声明
create_table\u inspections=“”create table….”“”
这样可以避免转义每行的结尾,更好地提高可读性near“JULIO”:靠近“R”的语法错误:“C”附近的语法错误;“EAT”附近的语法错误;“R”附近的语法错误;“W”附近的语法错误:“N”附近的语法错误:“N”附近的语法错误“R”附近的语法错误“R”附近的语法错误“N”附近的语法错误“W”附近的语法错误“R”附近的语法错误“R”附近的语法错误“N”附近的语法错误“R”附近的语法错误“DON”附近的语法错误“R”附近的语法错误“JULIO”附近的语法错误你能检查一下[0]
i[1]
等。返回您期望的值?谢谢,我发现了错误。有关excel中双引号的错误。很好!请随意创建答案,它可能会帮助其他人