【问题标题】:I would like to write list of dictionary to txt file我想将字典列表写入 txt 文件
【发布时间】:2021-10-12 05:11:27
【问题描述】:

[{'姓名': 'Syed', '年龄': 17.0, '出生日期': 38034.0, '血型': 'O+', '手机号码:': 919496589636.0}, {'姓名': 'Saurav ', 'Age': 16.0, 'DOB': 38391.0, 'Blood group': 'A+', 'mobile no:': 915452587965.0}, {'Name': 'Jinish', 'Age': 18.0, 'DOB' : 37654.0, '血型': 'O+', '手机号:': 916356254128.0}, {'姓名': 'kiran', '年龄': 17.0, 'DOB': 38034.0, '血型': 'O+' , '手机号:': 919496589636.0}, {'Name': 'Robin', 'Age': 16.0, 'DOB': 38391.0, '血型': 'A+', '手机号:': 915452587965.0}, { “姓名”:“拉维”,“年龄”:18.0,“出生日期”:37654.0,“血型”:“O+”,“手机号:”:916356254128.0}]

我的目标是在 .txt 中获得这种方式的输出

Name     Age      DOB     Blood group      mobile no:

'Syed'    17.0    38034.0     'O+'         919496589636.0
'Saurav'  16.0    38391.0,    'A+',        915452587965.0
'Jinish'  18.0    37654.0,    'O+',        916356254128.0
'kiran'   17.0    38034.0,    'O+',        919496589636.0

我试过这段代码,

c= ([(d['Name'],d['Age'],d['DOB'],d['Blood group'],d['mobile no:']) for d in dict_list])

#print(c)
 for i in c:
   e=print(i)
g=str(e)
f =open ("D:\\DSUsers\\uie41986\\BIG.txt","w" ) 
f.write(str(g))
f.close()

谁能提供正确的代码?

【问题讨论】:

  • 这是什么语言?您尝试的代码有什么问题?
  • python 语言,在文本文件中写的是“none”。
  • print 返回None

标签: python list file dictionary text


【解决方案1】:

要从dict_list 写入CSV 文件,您可以使用内置的csv 模块:

import csv

dict_list = [
    {
        "Name": "Syed",
        "Age": 17.0,
        "DOB": 38034.0,
        "Blood group": "O+",
        "mobile no:": 919496589636.0,
    },
    {
        "Name": "Saurav",
        "Age": 16.0,
        "DOB": 38391.0,
        "Blood group": "A+",
        "mobile no:": 915452587965.0,
    },
    {
        "Name": "Jinish",
        "Age": 18.0,
        "DOB": 37654.0,
        "Blood group": "O+",
        "mobile no:": 916356254128.0,
    },
    {
        "Name": "kiran",
        "Age": 17.0,
        "DOB": 38034.0,
        "Blood group": "O+",
        "mobile no:": 919496589636.0,
    },
    {
        "Name": "Robin",
        "Age": 16.0,
        "DOB": 38391.0,
        "Blood group": "A+",
        "mobile no:": 915452587965.0,
    },
    {
        "Name": "Ravi",
        "Age": 18.0,
        "DOB": 37654.0,
        "Blood group": "O+",
        "mobile no:": 916356254128.0,
    },
]

with open("data.csv", "w") as f_out:
    fieldnames = ["Name", "Age", "DOB", "Blood group", "mobile no:"]
    writer = csv.DictWriter(f_out, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerows(dict_list)

创建data.csv:

Name,Age,DOB,Blood group,mobile no:
Syed,17.0,38034.0,O+,919496589636.0
Saurav,16.0,38391.0,A+,915452587965.0
Jinish,18.0,37654.0,O+,916356254128.0
kiran,17.0,38034.0,O+,919496589636.0
Robin,16.0,38391.0,A+,915452587965.0
Ravi,18.0,37654.0,O+,916356254128.0

来自 LibreOffice 的屏幕截图:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-06-30
    • 2018-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多