62817


行数の多い CSV を読み込んで MySQL に流し込みたいです

CSV は１行目にヘッダが書かれていて２行目からを executemany に渡して  
bulk insert したいです

results に以下のように CSV の 2 次元配列が入っているとして

[code]

    [['col1', 'col2'],
     [1, 'a'],
     [2, 'b'],
      :
    
[/code]

results.pop(0) とか results[1:]  
をすると index を 1 ずつずらした配列を生成するので前処理で時間とメモリを消費してしまいます

C でいう *p++ みたいなことがしたいですが python では不可能でしょうか？

CSVを読むときにヘッダだけ分離して読み込むっていう方法も考えたのですが  
諸事情であまりやりたくありません

値を渡したいメソッドはこちらです  
<https://dev.mysql.com/doc/connector-python/en/connector-python-api-
mysqlcursor-executemany.html>

よろしくお願いします


CC BY-SA 4.0
2020-01-15T12:14:19.583
62264
2020-02-06T05:12:16.310
2020-01-15T12:48:07.887
question
python
ディープコピーせずにインデックスをずらしただけの配列を作りたい


コメントいただいた通り、イテレーターを使う方法

[code]

    itresults = iter(results)
    next(itresults)
    cursor.executemany(stmt, itresults)
    
[/code]

でうまく行きました


CC BY-SA 4.0
2020-02-06T03:35:19.587
62817
2020-02-06T05:12:16.310
2020-02-06T05:12:16.310
19110
62264
answer