>백엔드 개발 >PHP 튜토리얼 >Python 批量插入数据到Mysql

Python 批量插入数据到Mysql

WBOY
WBOY원래의
2016-06-06 20:45:132434검색

我用python弄了半天没搞定,高手来看下,我使用的是cursor.executemany来实现插入

示例数据:

<code class="lang-python">{
    'info': {
        'files': [
            {'path': ['Runner Runner [2013]HDRip XviD-SaM[ETRG].avi'], 'length': 733460868}, 
            {'path': ['SaMple.avi'], 'length': 5577446}, 
            {'path': ['ETRG.mp4'], 'length': 1515390}, 
            {'path': ['RUNNERR-ETRG.nfo'], 'length': 7806}, 
            {'path': ['Torrent Downloaded From ExtraTorrent.cc.txt'], 'length': 367}
        ]
    }
}
</code>

我写的处理:

<code class="lang-python">values = []
for i in data['info']['files']:
    values.append(i['path'][0])   
    cur.executemany('INSERT INTO `btss`.`magnetic_file` (`Uuid`, `Hash`, `File`, `Size`) VALUES (NULL, \'%s\', \'%s\', \'%s\')', values)
</code>

我这样用是不对的,但是append只能一个参数,请教该如何处理
新手哈,刚开始学

回复内容:

我用python弄了半天没搞定,高手来看下,我使用的是cursor.executemany来实现插入

示例数据:

<code class="lang-python">{
    'info': {
        'files': [
            {'path': ['Runner Runner [2013]HDRip XviD-SaM[ETRG].avi'], 'length': 733460868}, 
            {'path': ['SaMple.avi'], 'length': 5577446}, 
            {'path': ['ETRG.mp4'], 'length': 1515390}, 
            {'path': ['RUNNERR-ETRG.nfo'], 'length': 7806}, 
            {'path': ['Torrent Downloaded From ExtraTorrent.cc.txt'], 'length': 367}
        ]
    }
}
</code>

我写的处理:

<code class="lang-python">values = []
for i in data['info']['files']:
    values.append(i['path'][0])   
    cur.executemany('INSERT INTO `btss`.`magnetic_file` (`Uuid`, `Hash`, `File`, `Size`) VALUES (NULL, \'%s\', \'%s\', \'%s\')', values)
</code>

我这样用是不对的,但是append只能一个参数,请教该如何处理
新手哈,刚开始学

多append几次 - -。也可以不用append。
另外values放在for里面声明

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.