Как записать несколько фреймов данных в один CSV-файл? - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь

Вот мой код для передачи двух моих объектов через эту функцию для вывода всех результатов в один CSV-файл. Однако, когда я запускаю приведенный ниже код, он не работает.

def get_sf_metadata():
    dd = sf_login()
    metadata=DataFrame(dd.describe()['sobjects'])
    oi=metadata['name']
    sf_obj=['Account', 'Asset']
    for c in oi:
        account_meta = getattr(dd, c).describe()['fields']
        ss=pd.DataFrame(account_meta)
        frames=[ss]
        result = pd.concat(frames)
        result.to_csv('/Users/m/metadata/ff_field_metadata.csv')

get_sf_metadata()

Любые идеи или предложения исправить мой сценарий, чтобы объединить все мои результаты в один CSV-файл?

1 Ответ

1 голос
/ 18 апреля 2020

Вы перезаписываете файл на каждой итерации l oop.

Попробуйте переместить ваши concat и to_csv вызовы из l oop. Вы append каждое новое значение frames в течение l oop.

def get_sf_metadata():
    dd = sf_login()
    metadata=DataFrame(dd.describe()['sobjects'])
    oi=metadata['name']
    sf_obj=['Account', 'Asset']

    frames = []
    for c in oi:
        account_meta = getattr(dd, c).describe()['fields']
        ss = pd.DataFrame(account_meta)
        frames.append(ss)

    result = pd.concat(frames)
    result.to_csv('/Users/m/metadata/ff_field_metadata.csv')

get_sf_metadata()
...