擅长:python、mysql、java
<p>看看<a href="https://github.com/mfenniak/pg8000/" rel="nofollow noreferrer">the source code</a>,似乎没有一种方法可以直接导入csv,代码中似乎也没有任何关于<code>INSERT</code>查询的内置包装器,从而可以</p>
<p>您可以选择手动使用CSV读取器和使用<code>executemany</code>:</p>
<pre><code>import csv
import pg8000
conn = pg8000.connect(user="postgres", password="C.P.Snow")
cursor = conn.cursor()
command = 'INSERT INTO book (title) VALUES (%s), (%s) RETURNING id, title'
with open('my-data.csv', 'rb') as fl:
data = list(csv.reader(fl))
conn.executemany(command, data)
</code></pre>
<p>作为一个警告,根据数据的大小,使用<a href="https://docs.python.org/3/library/itertools.html#itertools.islice" rel="nofollow noreferrer">^{<cd3>}</a>可能更好:</p>
^{pr2}$