Очистка данных Python панд - PullRequest
0 голосов
/ 26 октября 2018

Я новичок в python pandas, у меня возникли трудности с очисткой данных, пожалуйста, помогите.

Мои фактические данные (ссылка на файл CSV - https://s3.amazonaws.com/rajaampledata/data.csv)

Date,Description,Description,Ref. No,Amount,Balance
30/08/2012,TFR-TFR:0000000101-,,,"1,952.50-","4,000.000"
"",Kumar - S/O To:,,,,
"",600010013441,,,,
30/08/2012,FDR-,,,10.50-,"5,114,897.40"
"",AU;541411;301218;RAJA,,,,
"",J;RTGS-AUTO-,,,,
"",TRANSAC,,,,
26/08/2012,DEP-IN162071/D61519,,,"1,000.83","6,100,098.32"
26/08/2012,WDL-IN B CM 20120826,,,180.32-,"789,126.31"
25/08/2012,103-,,,"1,000,000.00","3,225,700.00"
"",IN;112138;100318;BANK,,,,
"",ACC;,,,,

Я хотел бы получить данные, как показано ниже

30/08/2012,TFR-TFR:0000000101-Kumar - S/O To:600010013441,,,"1,952.50","4,000.000"
30/08/2012,FDR-AU;541411;301218;RAJAJ;RTGS-AUTO-TRANSAC,,,10.50-,"5,114,897.40"
26/08/2012,DEP-IN162071/D61519,,,"1,000.83","6,100,098.32"
26/08/2012,WDL-IN B CM 20120826,,,180.32-,"789,126.31"
25/08/2012,103-IN;112138;100318;BANKACC;,,,"1,000,000.00","3,225,700.00"

1 Ответ

0 голосов
/ 26 октября 2018

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

with open('data.csv') as f:
    reader = csv.reader(f)
    headers = next(reader)
    lines = []
    for r in reader:
        if r[0] == '':
            lines[-1][1] = lines[-1][1] + r[1]
        else:
            lines.append(r)

lines = [','.join(i) for i in lines]

print(lines)
>>['30/08/2012,TFR-TFR:0000000101-Kumar - S/O To:6.0001E+11,,,1,952.50-,4,000.00',
 '30/08/2012,FDR-AU;541411;301218;RAJAJ;RTGS-AUTO-TRANSAC,,,10.50-,5,114,897.40',
 '26/08/2012,DEP-IN162071/D61519,,,1,000.83,6,100,098.32',
 '26/08/2012,WDL-IN B CM 20120826,,,180.32-,789,126.31',
 '25/08/2012,103-IN;112138;100318;BANKACC;,,,1,000,000.00,3,225,700.00']

Если вы хотите headers, прочитайте первую строку csv.

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