残念ながら、はい。現在sqlite
はwrite_frame
でサポートされている唯一の「フレーバー」です。シンプルなwrite_frame
はいえ、かなり簡単なはず書くhttps://github.com/pydata/pandas/blob/master/pandas/io/sql.py#L155
def write_frame(frame, name=None, con=None, flavor='sqlite'):
"""
Write records stored in a DataFrame to SQLite. The index will currently be
dropped
"""
if flavor == 'sqlite':
schema = get_sqlite_schema(frame, name)
else:
raise NotImplementedError
参照してください。例えば、このようなものは、(未テスト!)うまくいくかもしれない:
import pymssql
conn = pymssql.connect(host='SQL01', user='user', password='password', database='mydatabase')
cur = conn.cursor()
# frame is your dataframe
wildcards = ','.join(['?'] * len(frame.columns))
data = [tuple(x) for x in frame.values]
table_name = 'Table'
cur.executemany("INSERT INTO %s VALUES(%s)" % (table_name, wildcards), data)
conn.commit()
感謝を助け
希望それはラインが判明します。 write_csvを使用してコンピュータ上でテキストファイルを作成した後、os.systemを使用してBCPを呼び出すことも簡単な方法でした。 –