Создать CSV на основе префикса в столбцах - PullRequest
0 голосов
/ 17 октября 2019

У меня есть CSV, но строки имеют разное количество столбцов, потому что в некоторых строках некоторые значения отсутствуют. Так что нет индекса. «Значение» каждого значения в данный момент кодируется префиксом к значению. Мне нужно очистить свой CSV, чтобы создать новый, который будет содержать значения только определенных столбцов на основе префикса.

Выглядит так:

001234;aA431;cFM33;jJE LE (3);xABCD;421;
004321;aB432;cPD99;433
006543;aC332;cHR31;x4231;499

Новый CSV долженимеет заголовок, его имя может быть префиксом (первой буквой) столбца:

0;a;c;4
01234;A431;FM33;21
04321;B432;PD99;33
06543;C332;HR31;99

Я начинаю работать с пандами Python, поэтому любые подсказки в этом направлении будут esp. приветствуется.

1 Ответ

0 голосов
/ 17 октября 2019

Вы можете использовать

df1=df.astype(str).copy()
cols = df1.iloc[0].str[0].tolist()
df1=df1.apply(lambda x: x.str[1:])
df1.columns = cols

вход

       A        B       C       D             E     F
0   1234    aA431   cFM33   jJE LE (3)  xABCD   421.0
1   4321    aB432   cPD99   433           NaN   NaN
2   6543    aC332   cHR31   x4231         499   NaN

выход

print(df1)

      1        a      c     j             x     4
0   234     A431    FM33    JE LE (3)   ABCD    21.0
1   321     B432    PD99    33            an    an
2   543     C332    HR31    4231         99     an

print(df1)


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