Как читать содержимое файла с их конкретными типами данных, а не как строки в Python? - PullRequest
1 голос
/ 06 мая 2019

У меня есть файл с “mark,19,2050.50,Chris,20,2010.40” в качестве содержимого.Если я читаю файл, используя open(), содержимое назначается в файле как textIOwrapper.Если я разделю и сохраню его в списке, используя разделитель (в данном случае ','), список будет содержать значения в виде строк.

For eg : [‘mark’,’19’,’2050.50’, ‘Chris’,’20’,’2010.40’]

Мне нужно, чтобы вывод был

[‘mark’, 19, 2050.50, ‘Chris’,20,2010.40]

Есть идеи, как это сделать?Спасибо

Ответы [ 3 ]

0 голосов
/ 06 мая 2019

Здесь - это SO-решение для автоматической трансляции. Он использует его в качестве декоратора, но в основном одна функция также будет выполнять то, что вам нужно. Он просто пытается преобразовать его как int, float или, если оба не удастся, как строку. Тем не менее, если вы анализируете большие файлы, это может замедлить работу. Если у вас больше базовых типов, это, вероятно, будет не так просто.

0 голосов
/ 07 мая 2019

eval (), кажется, делает трюк для базовых типов данных

Спасибо за предложения

0 голосов
/ 06 мая 2019

Вы не можете прочитать определенные типы данных, потому что вы не знаете типы данных. Все в файле считается строкой.

Вы можете попытаться проверить некоторые конкретные случаи, но вам лучше использовать библиотеку, которая уже делает это для вас. Используйте panda's функцию pandas.read_csv.

...