本站消息

站长简介/公众号


站长简介:高级软件工程师,曾在阿里云,每日优鲜从事全栈开发工作,利用周末时间开发出本站,欢迎关注我的微信公众号:程序员总部,程序员的家,探索程序员的人生之路!分享IT最新技术,关注行业最新动向,让你永不落伍。了解同行们的工资,生活工作中的酸甜苦辣,谋求程序员的最终出路!

  价值13000svip视频教程,python大神匠心打造,零基础python开发工程师视频教程全套,基础+进阶+项目实战,包含课件和源码

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

Python:AttributeError:'set'对象没有属性'format'

发布于2022-01-08 19:38     阅读(1041)     评论(0)     点赞(24)     收藏(0)



我正在尝试下面的代码并弹出属性错误。我是 Python 新手,很想知道我能做些什么来纠正这个错误。

    with open(csv_file_path,'wb+') as fout:
            csv_file = csv.writer(fout)
            csv_file.writerow(list(column_names))
            with open(json_file_path) as fin:
                for line in fin:
                    line_contents = json.loads(line)
                    csv_file.writerow(get_row(line_contents,column_names))

    read_and_write_file(json_file,csv_file,column_names)

    if isinstance(line_value,unicode):
                row.append({0}.format(line_value.encode('utf-8')))

Traceback (most recent call last):
  File "Json_convert.py", line 89, in <module>
    read_and_write_file(json_file, csv_file, column_names)
  File "Json_convert.py", line 19, in read_and_write_file
    csv_file.writerow(get_row(line_contents,column_names))
  File "Json_convert.py", line 62, in get_row
    row.append({0}.format(line_value.encode('utf-8')))
AttributeError: 'set' object has no attribute 'format'

解决方案


在 python 中,像你所做的那样使用大括号(你写的地方{0})是为了创建一个称为集合的内置对象。一组是(像数学)的独特元素的未有序集合,并且不能被格式化,因此没有set.format方法,导致属性错误,当您试图调用格式化方法上的一组:{0}.format(..)

你的意思可能是:

row.append("{0}".format(line_value.encode('utf-8')))

这将创建一个字符串,它确实有一个格式方法,所以这应该可以工作。







所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/1227361/e47c77d9455648ce8749/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

24 0
收藏该文
已收藏

评论内容:(最多支持255个字符)