от
У меня есть один файл 'CSV', он выглядит так: Пример данных :
    Name : Jai
    Age : 25
    Address: N P IV 
    Country: 
    Name : Jack
    Age : 18
    Address: T U W IX 
    Country: USA

Я хочу разделить этот столбец на несколько, как это, Ожидаемый результат:
    Name        Age        Address        Country
    Jai         25          N P IV         NA
    Jack        18          T U W IX       USA
Спасибо              

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.

1 Ответ

0 голосов
от
Сначала нужно создать 2 колонки
DataFrame
по
read_csv
с сепаратором
:\s 
для
:
с одним или несколькими пробелами, а затем преобразовать второй столбец Numpy массив и изменить форму для 4
'columns'
, создать DataFrame конструктором с первых 4 значений первого столбца до новых имен столбцов и последний в случае необходимости преобразовать столбец
Age
в целые числа:
import pandas as pd
import numpy as np

temp=u"""Name : Jai
Age : 25
Address: N P IV 
Country: 
Name : Jack
Age : 18
Address: T U W IX 
Country: USA"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), sep=":\s ", names=['col1','col2'])

print (df)
       col1      col2
0     Name        Jai
1      Age         25
2   Address    N P IV
3  Country:      None
4     Name       Jack
5      Age         18
6   Address  T U W IX
7   Country       USA
c = df['col1'].iloc[:4].str.strip(' :')
#pandas 0.24 
df = pd.DataFrame(df['col2'].to_numpy().reshape(
    
...