Python: заменять значения при чтении CSV-файла пандами - PullRequest
0 голосов
/ 17 мая 2018

У меня есть текстовый файл, который содержит что-то вроде этого:

Struct{a,b,c}
Struct {d,f,z}

Я хотел бы прочитать этот файл и получить такой вывод:

  0   1   2
0 a   b   c
1 d   f   z

Я пытался запустить этот код

import numpy as np
import pandas as pd
def conv(val, default_val=''):
    try:
         return (val)
    except ValueError:
         return default_val
x = pd.read_csv('/Users/gdelvecchio/Desktop/connector/connector.txt', sep=",", header=None, converters={'Struct': conv, '{': conv, '}': conv })
print(x)

но это вывод:

          0  1   2
0  Struct{x  y  z}
1  Struct{a  b  c}

Может кто-нибудь сказать мне, почему это не работает?

1 Ответ

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

Это не работает, потому что параметр converters ожидает указания функций для преобразования значений в определенных столбцах.Ключи могут быть целыми числами или метками столбцов.Ни один из ['Struct','{','}'] не является меткой столбца.

Чтобы прочитать этот текстовый файл, вам необходимо предварительно обработать его, избавившись от 'Struct', '{', '}'.Т.е. вам нужно будет преобразовать его в правильный файл CSV.

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