Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Python 在mysql文件中加载数据后设置为空_Python_Mysql - Fatal编程技术网

Python 在mysql文件中加载数据后设置为空

Python 在mysql文件中加载数据后设置为空,python,mysql,Python,Mysql,我使用pymysql将一个大型csv文件加载到数据库中,因为内存限制,我使用load Infle而不是insert。但是,在代码完成后,当我向服务器查询表中的数据时,它返回一个空集 import pymysql conn = pymysql.connect(host = 'localhost', port = 3306, user = 'root', passwd = '', local_infile = True) cur = conn.cursor() cur.execute("CRE

我使用pymysql将一个大型csv文件加载到数据库中,因为内存限制,我使用load Infle而不是insert。但是,在代码完成后,当我向服务器查询表中的数据时,它返回一个空集

import pymysql


conn = pymysql.connect(host = 'localhost', port = 3306, user = 'root', passwd = '', local_infile = True)
cur = conn.cursor()

cur.execute("CREATE SCHEMA IF NOT EXISTS `test`DEFAULT "
            "CHARACTER SET utf8 COLLATE utf8_unicode_ci ;")
cur.execute("CREATE TABLE IF NOT EXISTS "
            "`test`.`scores` ( `date` DATE NOT NULL, "
            "`name` VARCHAR(15) NOT NULL,"
            "`score` DECIMAL(10,3) NOT NULL);")
conn.commit()

def push(fileName = '/home/pi/test.csv', tableName = '`test`.`scores`'):
    push = """LOAD DATA LOCAL INFILE "%s" INTO TABLE %s
           FIELDS TERMINATED BY ','
           LINES TERMINATED BY '\r\n'
           IGNORE 1 LINES
           (date, name, score);""" % (fileName, tableName)
    cur.execute(push)
    conn.commit()
push()

我收到了一些截断警告,但没有其他错误或警告。关于如何解决这个问题有什么想法吗?

我做了一些事情来解决这个问题,首先我更改了我的sql server的配置文件以允许加载填充,接下来就是。然后是线路的问题,

LINES TERMINATED BY '\r\n'
解决办法是把它改成

LINES TERMINATED BY '\n'
之后,脚本运行良好,比逐行插入要快得多