read_csv при пропуске разделителя в определенных столбцах - PullRequest
0 голосов
/ 19 ноября 2018

У меня плохо отформатированный файл json.Я читаю это, используя

mydata=pd.read_csv(afilename,header=0,usecols=[0,1,
                                                  4,5,
                                                  6,7,
                                                  8,9], 
                                         names=['ID', 'event',
                                                'a1','a2',
                                                'a3','a4',
                                                'a5','a6'])

Столбцы 1 и 0 читаются правильно.Тем не менее, следующие столбцы моего CSV-файла могут быть искажены и содержать такие вещи, как

 '{Foo={"name":"bar",quantity:1.0,quantity_type:"baz"}, Fuu={"name":"barbar" '

, которые включают в себя разделитель ',', который, к сожалению, используется в качестве разделителя и в других местах, что приводит к дополнительным расщеплениям.

Я не знаю заранее, сколько ',' ожидать, поэтому каждый раз, когда я изменяю свой список usecols/names, чтобы получать фрагменты столбца, которые разделяются из-за дополнительных разделителей, я получаю ошибки, потому что количество столбцов неправый.

1 Ответ

0 голосов
/ 19 ноября 2018

Поскольку вы читаете файл JSON, вы должны использовать метод read_json вместо read_csv.Это будет работать, если ваш JSON правильно отформатирован.

Например:

mydata = pd.read_json(afilename, orient='records')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...