如何阅读文本文件以转换成字典?

时间:2019-01-27 03:22:02

标签: python python-3.x dictionary readfile

我正在尝试读取一个文本文件,其中包含用逗号分隔的词典,并转换为词典列表。

如何使用python做到这一点?

我试图读取为json文件或使用拆分方法

{
    "id": "b1",
    "name": "Some Name" 
},
{
    "id": "b2",
    "name": "Another Name"
},
....

结果应为:

  

[{“ id”:“ b1”,“ name”:“某些名称”},{“ id”:“ b2”,“ name”:“另一个名称”},....]

3 个答案:

答案 0 :(得分:2)

如果文件不太大,则可以执行以下操作:

library(tidyverse)

str = "he@llo wor*ld i'm using state-of-the-art technologies it's i4u"

##Break the string based on spaces
break_1 <- (str_split(str, pattern = "\\s"))

##Find the good words and put them in a vector
good_words <- unlist(break_1)[!sapply(break_1,
                                      function(i)str_detect(i,pattern = "[^(Aa-zZ|\\-|')]"))]

##Merge the vector
merged_vector <- paste0(good_words, collapse = " ")
merged_vector

答案 1 :(得分:0)

您可以在python中使用json模块

RFC 7159(已淘汰RFC 4627)和ECMA-404指定的

JSON(JavaScript对象表示法)是一种受JavaScript对象文字语法启发的轻量级数据交换格式(尽管它不是JavaScript的严格子集)。

json公开了标准库编组和pickle模块用户熟悉的API。 https://docs.python.org/2/library/json.html

如果您的文件是有效的json文件, 那么您可以直接使用json.loads()方法

import json

with open('test.txt', 'r') as file:
    result = json.loads(file.read())

答案 2 :(得分:0)

欢迎堆栈溢出..!

如果您使用JSON文件存储数据,则强烈建议使用 Python JSON库。您问如何使用它?阅读this

如果您打算使用文本文件存储数据,建议您存储数据与JSON格式稍有不同

b1,Some Name
b2,Another Name
.
.

这将使轻松阅读文本文件。只需使用split()命令将行彼此分开,然后在每一行上使用split(",")即可将ID与名称分开。

代码如下:

list = open("filename.txt").read().split("\n")
dictionaryList = []
for item in list:
    id, name = item.split(",")
    dictionaryList.append({id:name})

希望这行得通..! SDA