社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何在不使用Pandas的情况下用python编写字典到制表符分隔的文件

Luther_Blissett • 5 年前 • 1404 次点击  

如何将以下字典写入以键作为列标题的制表符分隔的文件?

目前的代码:

import csv
test_dict = {"A": 1, "B": 2, "C": 3}

with open("output_file.txt", 'w') as f:
        writer = csv.DictWriter(f, fieldnames = list(test_dict.keys()), delimiter = '\t')
        writer.writeheader()
        writer.writerows(test_dict)

AttributeError: 'str' object has no attribute 'keys'

关于 writerows() 功能。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/56408
 
1404 次点击  
文章 [ 2 ]  |  最新文章 5 年前
ashwin agrawal
Reply   •   1 楼
ashwin agrawal    5 年前

功能 writerows dicts 你只经过一个 dict .

修改代码如下:

import csv
test_dict = {"A": 1, "B": 2, "C": 3}

with open("output_file.txt", 'w') as f:
        writer = csv.DictWriter(f, fieldnames = list(test_dict.keys()), delimiter = '\t')
        writer.writeheader()
        writer.writerows([test_dict]) #passing an list of dicts

你可以使用这个函数 writerow 而不是 书写者

import csv
test_dict = {"A": 1, "B": 2, "C": 3}

with open("output_file.txt", 'w') as f:
        writer = csv.DictWriter(f, fieldnames = list(test_dict.keys()), delimiter = '\t')
        writer.writeheader()
        writer.writerow(test_dict) #passing single row
rdas
Reply   •   2 楼
rdas    5 年前

DictWriter.writerows 需要大量的字典。你只给了它一本字典,所以它试图展开它。

test_dict 在列表中

writer.writerows([test_dict])

或者使用 writerow