我有一个Python脚本,它使用psycopg2库连接到Postgres并将表从Postgres数据库复制到文本文件(以制表符分隔)。这很管用。然后,我尝试运行一个类似的函数,但这次将文本文件插入到不同的Postgres数据库中的一个相同的表中。我的脚本如下:
def copyFromFile(tableName):
try:
cTo = None
cTo = psycopg2.connect(database="postgres", user="postgres", password="postgres", host="localhost")
tCursor = cTo.cursor()
print 'here'
io = open(tableName+'.txt', 'r')
tCursor.copy_from(io, tableName)
print 'done copying'
except Exception as inst:
print "I am unable to copy to " + tableName
#start
copyFromFile('schema.tableName')
文本文件如下所示:
95216 8802 269726 3 1350 1 2014-09-02 14:11:25.817178 I
95217 8802 269726 4 1351 1 2014-09-02 14:11:25.817178 I
95218 8802 269726 5 1352 1 2014-09-02 14:11:25.817178 I
95219 8802 269726 6 1353 1 2014-09-02 14:11:25.817178 I
95220 8802 269726 7 1354 1 2014-09-02 14:11:25.817178 I
95221 8802 269726 8 1355 1 2014-09-02 14:11:25.817178 I
95222 8802 269726 9 1356 1 2014-09-02 14:11:25.817178 I
运行此脚本时,没有错误,但数据库表没有数据。此表一开始是空的。会少了什么?
print 'done copying'
cTo.commit()
也许?-g
我在命令行中键入,但命令提示符显示python不能被识别为内部或外部命令、可操作程序或批处理文件。我该怎么办? 注意:我已经在我的计算机上安装了Python2.7和Python3.2。
Python不能在git bash(Windows)中运行。当我在命令行中键入python时,它会将我带到一个空行,而没有像在PowerShell中那样说明它已经输入了python 2.7.10。它不会给我错误消息,但python就是不运行。
我使用NetBeans8.2创建了一个非常简单的Hello World程序。但是,当我尝试在Linux中使用命令行执行jar文件时 如果你需要更多的信息,请告诉我。 谢了。
我已经下载了jdk 1.8.0\u 131 当我打开命令提示符并编写以下命令-java-version时,它会给出输出 但是当我编写以下命令时:javac-version它会给我输出 我已经编辑了系统变量路径-C:\Progra~1\Java\jdk1.8.0_131\bin; 当我执行以下命令时:"C:\Program Files\Java\jdk1.8.0_131\bin\javac"-ver
问题内容: 通过终端执行时正在工作。但不是通过QProcess 我的示例代码是 在textedit上什么都没有显示。 但是当我仅在qprocess的开头使用时,输出将显示在textedit上。我是否错过了构造命令的任何技巧,例如for 和for ?特殊字符?但我也尝试过 问题答案: QProcess执行一个进程。您要执行的操作是执行 Shell命令 ,而不是进程。命令管道是Shell的功能。 有三
问题内容: 我有一个从Python(包装在Django中)执行的MySQL存储过程。当我尝试执行第二条语句时,出现错误“命令不同步;您现在不能运行此命令”。我目前无法提交交易。当我调用过程时,这只是一个问题。该怎么办? 编辑:我被要求发布MySQL过程。我使它变得非常简单,但我仍然遇到相同的问题 问题答案: 感谢JoshuaBoshi的回答,该问题得以解决。调用该过程之后,我必须关闭游标并再次打开