Python将UTF-8推文编码为UCS-2,用于SQL Server负载

时间:2014-09-18 16:14:37

标签: sql-server python-3.x encoding utf-8 ucs2

我试图在SQL Server中存储推文,它们是UTF-8。显然,SQL Server 2012不会将UTF-8存储在nvarchar中。相反,SQL Server建议根据this.

使用UCS-2

我的整个脚本是在Python 3.3中尝试将一系列.json文件转换为单个表格文件,然后批量加载它。

with open(fileName, "a+",encoding='utf-16') as the_file:
    writer = csv.writer(the_file, delimiter='\t', lineterminator='\n')
    for file in os.listdir(input):
        jsonData = open(input+file)
        data = json.load(jsonData)
        for tweetObject in data:
            #parseData here...
            writer.writerow(tweetData)
        jsonData.close()

现在很明显,UCS-2不是默认编码,所以我从哪里获得它?我是否需要在我的文件中对每行UTF-8进行编码,或者如果我将文件设置为使用USC-2,它是否会自动执行此操作?我在google上看到了很多关于如何解决这种编码的问题但没有关于如何使用它编码的内容。

如果你有这些建议我会接受其他建议。谢谢!

编辑:更新了代码以获得正常工作的代码!

1 个答案:

答案 0 :(得分:0)

这很有用!

How to write UTF-8 characters using bulk insert in SQL Server?

基本上我需要将输入文件转换为utf-16并使用nvarchar列。