Получение элемента каждого элемента в массиве - PullRequest
0 голосов
/ 31 мая 2018

Это содержимое текстового файла, который я использую:

[{"name": "Bitcoin", "symbol": "BTC", "rank": 1, "slug": "bitcoin", "tokens": ["Bitcoin", "bitcoin", "BTC"], "id": 1},
 {"name": "Ethereum", "symbol": "ETH", "rank": 2, "slug": "ethereum", "tokens": ["Ethereum", "ethereum", "ETH"], "id": 1027}, ... ]

Как получить каждый элемент «name» каждой монеты и сохранить его во временную переменную?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Если вам удобно использовать стороннюю библиотеку, pandas принимает список словарей напрямую:

import pandas as pd
from io import StringIO
import json

mystr = StringIO("""[{"name": "Bitcoin", "symbol": "BTC", "rank": 1, 
"slug": "bitcoin", "tokens": ["Bitcoin", "bitcoin", "BTC"], "id": 1},
 {"name": "Ethereum", "symbol": "ETH", "rank": 2, "slug": "ethereum", 
 "tokens": ["Ethereum", "ethereum", "ETH"], "id": 1027}]""")

# replace mystr with 'file.json'
df = pd.read_json(mystr)

# extract names to list
res = df['name'].tolist()

print(res)

['Bitcoin', 'Ethereum']
0 голосов
/ 31 мая 2018

Это похоже на действительный JSON, поэтому просто используйте встроенный модуль json для его анализа, например:

import json

with open("path/to/your_file.txt", "r") as f:  # open the file for reading
    data = json.load(f)  # parse it as JSON

# now you can access the data hierarchically, i.e.
print("The first coin is {} and its symbol is {}".format(data[0]["name"], data[0]["symbol"]))
# The first coin is Bitcoin and its symbol is BTC

# or if you want just a list of all names
coin_names = [d["name"] for d in data]  # ['Bitcoin', 'Ethereum', ...] 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...