You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用JiraOne库导出JIRA问题时遇UnicodeEncodeError错误求助

解决JiraOne导出JIRA问题时的UnicodeEncodeError问题

错误原因

JIRA返回的问题数据中包含Windows默认编码(cp1252)不支持的Unicode字符(比如希腊字母Σ,对应\u03a3),而JiraOne库默认使用系统编码写入文件,导致编码失败。

解决方案

方案1:修改JiraOne库的文件写入编码

找到报错的file_writer函数所在文件:C:\Users\User123\Anaconda3\lib\site-packages\jiraone\reporting.py,定位到文件打开的代码行(约3223行),将文件打开方式改为指定UTF-8编码:
原代码:

with open(filename, "a") as f:
    f.write(content)

修改为:

with open(filename, "a", encoding="utf-8") as f:
    f.write(content)

方案2:自定义导出逻辑(无需修改库文件)

如果不想改动库文件,可以直接调用get_all_issues获取数据后,自行用UTF-8编码写入CSV:

from jiraone import LOGIN, get_all_issues
import json
import csv

# 加载配置
file = "config.json"
config = json.load(open(file))
LOGIN(**config)

# 执行JQL查询
jql = "project in (AB, BC, IT, IP) order by created DESC"
issues = get_all_issues(jql=jql)

# 定义需要导出的字段(可根据需求调整)
export_fields = ["key", "summary", "created", "status_name", "assignee_name"]

# 写入CSV文件(UTF-8编码)
with open("jira_issues_export.csv", "w", newline="", encoding="utf-8") as csv_file:
    writer = csv.DictWriter(csv_file, fieldnames=export_fields)
    writer.writeheader()
    for issue in issues:
        issue_fields = issue.get("fields", {})
        writer.writerow({
            "key": issue.get("key"),
            "summary": issue_fields.get("summary"),
            "created": issue_fields.get("created"),
            "status_name": issue_fields.get("status", {}).get("name"),
            "assignee_name": issue_fields.get("assignee", {}).get("displayName")
        })

内容的提问来源于stack exchange,提问作者Data Analyst

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:53:34