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

Python如何将字典列表保存为UTF-8编码的txt/csv文件

代码实现方案

所有写入操作的核心是打开文件时显式指定encoding='utf-8',避免依赖系统默认编码导致非ASCII字符(如示例中的波斯语)乱码。

保存为TXT文件

根据使用场景选对应写法即可:

  • 保存结构化原始数据(方便后续程序读取还原):
import json

ls_dict = [
    { 'a': 'میلاد'},
    { 'b': 'علی'},
    { 'c': 'رضا'}
]

with open('result.txt', 'w', encoding='utf-8') as f:
    # 必须加ensure_ascii=False,否则非ASCII字符会被转义为\u开头的编码
    json.dump(ls_dict, f, ensure_ascii=False, indent=2)
  • 保存为人类易读的逐行键值对格式:
ls_dict = [
    { 'a': 'میلاد'},
    { 'b': 'علی'},
    { 'c': 'رضا'}
]

with open('result.txt', 'w', encoding='utf-8') as f:
    for dict_item in ls_dict:
        for key, value in dict_item.items():
            f.write(f"{key}: {value}\n")

保存为CSV文件

使用Python内置csv模块实现,Windows环境下打开文件时需加newline=''参数避免写入多余空行:

import csv

ls_dict = [
    { 'a': 'میلاد'},
    { 'b': 'علی'},
    { 'c': 'رضا'}
]

# 收集所有字典的键作为CSV表头
all_fields = []
for dict_item in ls_dict:
    all_fields.extend(dict_item.keys())

with open('result.csv', 'w', encoding='utf-8', newline='') as f:
    writer = csv.DictWriter(f, fieldnames=all_fields)
    writer.writeheader()
    writer.writerows(ls_dict)

注意:如果写入后打开文件看到乱码,先确认你使用的文件编辑器是否选择UTF-8编码读取文件,部分Windows系统自带记事本默认使用GBK编码打开文件,手动切换编码为UTF-8即可正常显示字符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 17:06:26