我正在尝试创建一个脚本,每天将一些文件上传到我们的Postgres数据库。
我创建了一个python脚本,它读取给定目录中的所有.csv文件:
# -*- coding: utf-8 -*-
import os
import psycopg2
connect_string = "dbname='db' user='postgres' host='localhost' password='########"
conn = psycopg2.connect(connect_string)
cur = conn.cursor()
folder = u"SomePathOnTheServer\\Dépôt Chronos"
os.chdir(folder)
listFiles = os.listdir(".")
for files in listFiles:
if files.startswith("[Prefix]"):
if files.endswith(".csv"):
full_path = os.path.join(folder, files)
print full_path
cur.execute(u"""SET client_encoding to 'latin1';
COPY sde.assignation_train FROM '%s' DELIMITER ';' CSV HEADER;""" %(full_path))
cur.close()
print "All good!"
问题是该文件夹有一些重音:“/DépôtChronos”。我无法更改,因为文件夹是自动生成的(我只对文件夹有“读取”权限)。
当我打印完整路径时,所有字符(以绿色标记)都是正确的。但似乎传递给我的“cur.execute”的路径不是。我尝试在我的字符串之前添加一个“”“”“”以将其作为unicode传递,但它不起作用。
知道什么是错的吗?
感谢!!!