Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 获取特定于文本文件的字段问题_Python_Python 2.7 - Fatal编程技术网

Python 获取特定于文本文件的字段问题

Python 获取特定于文本文件的字段问题,python,python-2.7,Python,Python 2.7,我正在研究python,以便使用社交媒体上的数据挖掘来分析数据。 现在,我已经编写了一个代码,为我提供了Facebook最受欢迎页面的信息,并将信息存储在名为“pages.txt”的文本文件中。以下是我文本文件内容的快照: { "paging": { "next": "https://graph.facebook.com/search?limit=1&type=page&q=%26&locale=ar_AR&access_token=CAACEdEose0c

我正在研究python,以便使用社交媒体上的数据挖掘来分析数据。 现在,我已经编写了一个代码,为我提供了Facebook最受欢迎页面的信息,并将信息存储在名为
“pages.txt”
的文本文件中。以下是我文本文件内容的快照:

{
 "paging": {
  "next": "https://graph.facebook.com/search?limit=1&type=page&q=%26&locale=ar_AR&access_token=CAACEdEose0cBAFxVPV6lJ43O6MABoxVrrHlb01rBNmpVf8ZCK0M1QlsEJ6yRZBWlzjf0vA1eX6YdwNHF2TLZBsECdg6Q8mI3BH3n5QTMsi55KtkCtOCd36AVxjZA7PXBL3mZA6FsLZCNp9IZCItCI4YVhCeikubnwCLpE0nSTOcKXR8DUzcZA4qZCBW92yoCDFk2z0eZBNSUU6lgZDZD&offset=1&__after_id=6127898346"
 }, 
 "data": [
  {
   "category": "\u0627\u0644\u062a\u0639\u0644\u064a\u0645", 
   "name": "The London School of Economics and Political Science - LSE", 
   "category_list": [
    {
     "id": "108051929285833", 
     "name": "\u0627\u0644\u0643\u0644\u064a\u0629 \u0648\u0627\u0644\u062c\u0627\u0645\u0639\u0629"
    }, 
    {
     "id": "187751327923426", 
     "name": "\u0645\u0646\u0638\u0645\u0629 \u062a\u0639\u0644\u064a\u0645\u064a\u0629"
    }
   ], 
   "id": "6127898346"
  }
 ]
}
现在我想知道如何从中获取特定字段(例如“id”:“6127898346”)?我试了很多,但找不到办法。 到目前为止,我已经写了以下内容:

ins = open( "pages.txt", "r" )
values = []
for line in ins:   
    values.append(line) 

ins.close()
print values

但是这给了我整行的帮助吗?

这是JSON。您可以通过使用
json
模块加载数据来获取数据:

import json
with open(your_file).read() as content:
    data = json.loads(content)
    # manipulate your data
数据
将是普通的Python数据结构,如嵌套列表、dict、strings和int,因此您可以用通常的方式操作它们。

尝试以下方法:

INFILE = open("pages.txt","r")
file = INFILE.readlines()

listA = []
ID_List = []
for line in file:
        if (line[6:8] =="id"):
        line = line.strip()
        listA.append(line)
    for id in listA:
        item = id[7:-2]
        item = item.strip()
        if item not in ID_List:
            ID_List.append(item)
print "List of all IDS:",ID_List
在文件上运行此命令后,我得到:

>>> 
List of all IDS: ['108051929285833', '187751327923426', '612789834']
>>> 

你知道这是数据吗?你可以使用多个for循环来获取特定的信息。现在我正在考虑一种简单易懂的算法来实现这一点。给我一秒钟。@Hussantamboli:是的,我知道this@e-saties:但是是否有任何查询以输入分页字段ad,然后输入数据字段以获得id字段。我尝试了你的代码,但它对我没有帮助。当你运行我的代码时,你得到了什么?你想从中得到什么信息?你对它了解多少?你没有做什么?你有错误吗?您需要提供大量信息,我们才能帮助您。但是如何访问category_list字段?您有一个包含指向列表的键“data”的字典。此列表包含字典,每个字典都有一个键“category\u list”。现在,如果您不知道如何访问字典上的键或在列表上迭代,那么您必须先了解这一点,然后再回来:这在Python中非常重要。如果这样做,访问“category\u list”意味着访问一个dict键,然后对结果进行迭代,然后对每个项访问项“category\u list”键。您不需要任何特殊的操作,只需要常规的dict/list操作。困难的是,它们是嵌套的,在这里。首先用哑数据锻炼自己。通过将列表放入字典并访问列表项来训练终端:
data={'a':[1,2,3],'b':[4,5,6]}
。尝试从中获得
6
。然后,当您能够这样做时,将字典放入列表中,并尝试访问字典:
data={'a':[{{1:True,2:None}]}
。尝试从中获取
True
。一旦你做到了这一点,你将能够解决你的问题。这不是一个可靠的方法,也不应该推广。@e-satis我明白,但由于arze ramade似乎是Python的新手,我使用了这个非常简单的方法。很容易理解,但这不是最好的方法。如果他是一个初学者,这是一个很好的理由,不能避免给他一个他无法评估的答案。