2016-02-29 3 views
0

У меня есть CSV-файл, который выглядит следующим образом при прочтении как панд dataframe:Настройка Вкладка разделитель только на одной колонке

  OBJECTID_1   AP_CODE 
0   857720    137\t62\t005\tNE 
1   857721    137\t62\t004\tNW 
2   857724    137\t62\t004\tNE 
3   857726    137\t62\t003\tNE 
4   857728    137\t62\t003\tNW 
5   857729    137\t62\t002\tNW 

df.info() возвращает это:

<class 'pandas.core.frame.DataFrame'> 
Int64Index: 9313 entries, 0 to 9312 
Data columns (total 2 columns): 
OBJECTID_1 9312 non-null float64 
AP_CODE  9313 non-null object 
dtypes: float64(1), object(1) 
memory usage: 181.9+ KB 
None 

и print(repr(open(r'P:\file.csv').read(100)))

возвращает это:

'OBJECTID_1,AP_CODE\n857720,"137\t62\t005\tNE"\n857721,"137\t62\t004\tNW"\n857724,"137\t62\t004\tNE"\n857726,"137\t' 

Я хочу избавиться от \t в колонке AP_CODE, но я не могу понять, почему это даже там, или как его удалить. .replace не работает.

+0

Вы пробовали 'ДФ [«AP_CODE»] str.replace (». \ t ',' ') '? это работает для меня, также вкладки в ваших данных, это не то, что волшебным образом вставляется – EdChum

+0

, который, казалось, работал, я не добавлял '.str', когда я это делал раньше, спасибо. –

+0

'.replace' ищет точные соответствия в ваших данных, в то время как' .str.replace' ищет наличие строк в ваших данных для замены - это семантическая разница. – EdChum

ответ

1

Если вы хотите использовать вкладки в замене, вам нужно использовать сырую строку, prefexing свой строковый литерал с r:

In [299]: df.AP_CODE.str.replace(r'\\t',' ') 
Out[299]: 
0 137 62 005 NE 
1 137 62 004 NW 
2 137 62 004 NE 
3 137 62 003 NE 
4 137 62 003 NW 
5 137 62 002 NW 
Name: AP_CODE, dtype: object 
+0

'r' префикс здесь не нужен, поскольку вы уже избегаете вкладка – EdChum

+0

на самом деле это не работает, если я не оставляю префикс r (попробуйте) ... я действительно не понимаю, почему, хотя – maxymoo

+0

хорошо это сработало для меня 'df ['AP_CODE']. str.replace ('\ t', '') 'поэтому я не уверен, что это будет зависеть от того, как вы загрузили данные, но OP сказал, что мой код работал для них – EdChum

Смежные вопросы