Python импортирует csv в dict

Прошу прощения. я нуб Я видел Python импортирует csv в список Pandas # 2

если у меня есть этот csv

country    population      population_time    EUR
Germany    82521653.0      2016-12-01         True
France     66991000.0      2017-01-01         True
Indonesia  255461700.0     2017-01-01         False
Ireland    4761865.0       NaT                True
Spain      46549045.0      2017-06-01         True
Vatican    NaN             NaT                True

Как измениться так

[{'country': 'Germany', 'population': 82521653.0, 'population_time': Timestamp('2016-12-0100:00:00'), 'EUR': True},
{'country': 'France', 'population': 66991000.0, 'population_time': Timestamp('2017-01-01 00:00:00'), 'EUR': True},
{'country': 'Indonesia', 'population': 255461700.0, 'population_time': Timestamp('2017-01-01 00:00:00'), 'EUR': False},
{'country': 'Ireland', 'population': 4761865.0, 'population_time': NaT, 'EUR': True},
{'country': 'Spain', 'population': 46549045.0, 'population_time': Timestamp('2017-06-01 00:00:00'), 'EUR': True},
{'country': 'Vatican', 'population': nan, 'population_time': NaT, 'EUR': True}]

я просто умею так

import pandas as pd
df = pd.read_csv('file.csv')
print(df.to_dict())

результат:

{'country':{0:'Germany', 1:'France', 2:'Indonesia', 3:'Ireland', 4:'Spain', 5:'Vatican'},
 'population ':{0:'82521653.0', 1:'66991000.0', 2:'255461700.0', 3:'4761865.0', 4:'46549045.0', 5:'NaN'},
 'population_time':{0:'2016-12-01', 1:'2017-01-01', 2:'2017-01-01', 3:'NaT', 4:'2017-06-01', 5:'NaT'},
 'EUR':{0:'True', 1:'True', 2:'False', 3:'True', 4:'True', 5:'True'},
with open('path/to/csv') as infile: answer = list(csv.DictReader(infile))
inspectorG4dget 17.12.2020 15:51
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
1
1
253
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Пытаться:

df.to_dict(orient='records')

Вы можете использовать csv.DictReader для этого:

import csv

with open('t.csv') as f:
    reader = csv.DictReader(f, delimiter='\t')
    data = [d for d in reader]
Ответ принят как подходящий

Почти готово. Небольшое изменение в вашем коде. Обратите внимание на аргумент ключевого слова «ориентация».

import pandas as pd
df = pd.read_csv('file.csv')
print(df.to_dict(orient='records'))

Это дает следующий вывод

[{'country': 'Germany', 'population': 82521653.0, 'opulation_time': '2016-12-01', 'EUR': True}, {'country': 'France', 'population': 66991000.0, 'opulation_time': '2017-01-01', 'EUR': True}, {'country': 'Indonesia', 'population': 255461700.0, 'opulation_time': ' 2017-01-01', 'EUR': False}, {'country': 'Ireland', 'population': 4761865.0, 'opulation_time': 'NaT', 'EUR': True}, {'country': 'Spain', 'population': 46549045.0, 'opulation_time': '2017-06-01', 'EUR': True}, {'country': 'Vatican', 'population': nan, 'opulation_time': 'NaT', 'EUR': True}]

Другие вопросы по теме