使用Python将日文字符输出到文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python将日文字符输出到文件相关的知识,希望对你有一定的参考价值。
目标 - >我正在尝试使用Python自动执行查询执行过程
详细信息 - >我的源是Teradata数据库,目标是.txt文件
我正在编写Python代码以在Teradata中运行查询并将输出保存在.txt文件中。
问题 - >即使我能够运行查询并保存输出,日语字符显示为“ x1a x1a”
对于前者当我运行查询时,我在Teradata SQL Assistant窗口中看到的输出是“爱してる”,而文本文件中的输出是“ x1a x1a” 我正在使用“PYCharm”进行编码 我使用下面的代码来编写文件
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import io
import pyodbc
import os
#Establish connection with Teradata
conn = pyodbc.connect('Coneection Parameters')
conn.setencoding(encoding='utf-8')
cur = conn.cursor()
conn.setdecoding(pyodbc.SQL_CHAR, encoding='utf-8')
#Reading Query
scriptFile = open('query.sql','r')
script = scriptFile.read()
scriptFile.close()
#Executing Query
cur.execute(script)
rows = cur.fetchall()
#Writing the output to file
with open('results.txt','w') as f:
print(rows)
f.write('%s
' % rows)
#Closing the Connection
cur.close()#close the query writing
conn.close()
使用的变量 results.txt - >目标文件,我想写日文字符
样品输出我期待宠物用品
我在文件“results.txt” - > [(' x1a x1a x1a x1a x1a',)]中获得的输出
答案
让我们解决标题问题。要将日语(或任何语言)输出到文件:
- 从Unicode字符串开始。
- 打开文件进行写入并指定编码。
- 将字符串写入文件。
使用Python 3的示例:
s = 'ペット用品'
with open('results.txt','w',encoding='utf8') as f:
f.write(s)
您的rows
不是Unicode字符串,而是包含具有错误字符串的元组的列表。这是你必须要解决的另一个问题。
以上是关于使用Python将日文字符输出到文件的主要内容,如果未能解决你的问题,请参考以下文章