gpt4 book ai didi

python-3.x - 使用 Python 将日文字符输出到文件

转载 作者:行者123 更新时间:2023-12-04 03:02:30 30 4
gpt4 key购买 nike

目标 --> 我正在尝试使用 Python

自动化查询执行过程

Detail --> 我的来源是 Teradata 数据库,目标是 .txt 文件

我正在编写 Python 代码以在 Teradata 中运行查询并将输出保存在 .txt 文件中。

问题 --> 即使我能够运行查询并保存输出,日文字符仍显示为“\x1a\x1a”

例如 .当我运行查询时,我在 Teradata SQL 助手窗口中看到的输出是“爱してる” 而文本文件中的输出是“\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\n' % rows)

#Closing the Connection
cur.close()#close the query writing
conn.close()

使用的变量
results.txt -> 目标文件,我想写日文字符的地方

我期待的样本输出ペット用品

我在“results.txt”文件中得到的输出 --> [('\x1a\x1a\x1a\x1a\x1a', )]

最佳答案

让我们解决标题问题。将日语(或任何语言)输出到文件:

  1. 以 Unicode 字符串开头。
  2. 打开要写入的文件并指定编码。
  3. 将字符串写入文件。

使用 Python 3 的示例:

s = 'ペット用品'
with open('results.txt','w',encoding='utf8') as f:
f.write(s)

您的 rows 不是 Unicode 字符串,而是一个包含不正确字符串的元组的列表。这是你必须解决的另一个问题。

关于python-3.x - 使用 Python 将日文字符输出到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47897384/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com