【发布时间】:2019-04-24 11:35:50
【问题描述】:
我正在尝试使用bcp command 将数据附加到azure db 中的现有表中。
当我直接从命令行导出 csv\txt 文件时 - 它看起来像一个二进制文件,然后从这个文件导入就可以了。
但是,如果我尝试获取具有相同数据的python pandas dataframe 并将其保存为 csv\txt,则内容不同 - 没有二进制数据 - 只是正常值。
但是,从该文件导入后 - 没有错误,但导入了 0 行...
如何从与 bcp csv 相同的数据帧创建 csv?
这是我的工作代码(直接来自命令行):
--export
bcp "select * from tbl where val=1" queryout "Test\tbl1.csv" -S <server> -d <db> -U <user> -P <password> -q -n -t,
--import
bcp tbl2 in "Test\tbl1.csv" -S <server> -d <db> -U <user> -P <password> -q -n -t,
这是我的python代码:
import subprocess as sp
...
df0.to_csv('tm2.csv',encoding='utf8',index=None,sep=',',header=None)
cmd2='bcp tbl2 in "Test\tm2.csv" -S <server> -d <db> -U <user> -P <password> -q -t, -n'
sp.call(cmd2)
但表 tbl2 没有变化。
【问题讨论】:
-
有人吗?如何像从 bcp 生成一样从 pandas 生成 csv?有什么不同?
标签: python pandas azure csv bcp