Как заменить заполненные пробелами ячейки в пандах, когда входной файл разделен пробелом? - PullRequest
1 голос
/ 10 октября 2019

Я пытаюсь использовать pandas read_csv, чтобы сделать df файла, разделенного пробелом. Проблема в том, что иногда один из столбцов имеет ячейки, которые являются просто пробелами ('') вместо строки. При использовании этого кода я получаю сообщение об ошибке TypeError: объект 'NoneType' недопустим

Я использовал регулярное выражение (delimiter = r "\ s +"), чтобы код не имел ошибки, но затем онсчитывает всю пустую ячейку как разделитель и просто пропускает эту ячейку вместо того, чтобы пометить ее как значение, поэтому смещает все последующие значения столбца влево.

import pandas as pd
markets = ['foodsmm']
for market in markets:
    file = market + '.mktxtr.' + pmin
    def format_marketfile(file):

        df = pd.read_csv(file, header=None, delimiter = ' ', parse_dates = ['DATE'],
                 names = ['MKT', 'MKT_ID', 'CHILD_MKT', 'STATUS', 'TYPE', 'DATE', 'ACV_UNIV', 'ACV_SMP', 'PROJ_ACV', 'STOREUNIV_ACV', 'STORESMP_CT', 'PROJ_STORECT', 'NADA'])
        df = df.drop(['MKT', 'NADA'], axis=1)
        export_name = file + '.output.csv'
        df.to_csv(export_name, index=False)

    format_marketfile(file)

1 Ответ

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

Попробуйте заменить '' перед запуском read_csv:

df.replace('', '-', inplace=True)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...