Я хочу прочитать txt-файл, используя genfromtxt от numpy. Файл t.txt выглядит следующим образом:Numpy genfromtxt читает дополнительные нежелательные строки
###############
PSZ1 G096.89+24.17
PSZ1 G108.18−11.53
RXC J0225.1−2928
RXC J1053.7+5452
RXC J1234.2+0947
RXC J1314.4−2515
S 1081
ZwCl 0008.8+5215
ZwCl 2341+0000
1E 0657−558
1RXS J0603.3+4214
24P 73
импортировать NumPy и запустить genfromtxt следующим образом:
import numpy as np
a =np.genfromtxt("t.txt", comments="#", dtype=None,autostrip=True,delimiter = " ")
и возвращает следующее при выдаче печати: с
array([['PSZ1', 'G096.89+24.17'],
['PSZ1', 'G108.18\xe2\x88\x9211.53'],
['RXC', 'J0225.1\xe2\x88\x922928'],
['RXC', 'J1053.7+5452'],
['RXC', 'J1234.2+0947'],
['RXC', 'J1314.4\xe2\x88\x922515'],
['S', '1081'],
['ZwCl', '0008.8+5215'],
['ZwCl', '2341+0000'],
['1E', '0657\xe2\x88\x92558'],
['1RXS', 'J0603.3+4214'],
['24P', '73']],
dtype='|S15')
I хотел бы знать, что вызывает дополнительные укусы, содержащие \ x и как их проехать, при этом используя genfromtxt.
Кроме того, многие другие методы чтения строк возвращают ту же проблему (дополнительные строки \ x) даже при непосредственном копировании примера из этого сообщения (t.txt) непосредственно в файл txt или csv.
Я создал файл t.txt в редакторе атомов, который говорит в нижней UTF8. Я также сохранил файл снова как UTF8.
Как я могу правильно прочитать ложно закодированные знаки + и - в питоне, не меняя их индивидуально вручную?
Благодаря
Возможный дубликат [Загрузка файла UTF-8 в Python 3 с помощью numpy.genfromtxt] (http://stackoverflow.com/questions/33001373/loading-utf-8-file-in-python-3-using -numpy-genfromtxt) – Yugi
Я использую python 2.7, и я не получаю сообщение об ошибке. Кроме того, в моем txt-файле нет (как я могу сказать) модных писем). – user3063903
Похоже, что в кодировке знак минус не переводится и вместо этого заменяется кодом UTF-8 для него «\ xe2 \ x88 \ x92». Это должно быть связано с загрузкой UTF-8. Нет ошибки, но решение по ссылке, предоставленной @yugi, должно помочь. – oxtay