在pandas Dataframe Python中创建3xX数组

时间:2018-11-20 16:01:07

标签: python pandas dataframe

#!/usr/bin/env python

from pandas import DataFrame, Series
from simple_salesforce import Salesforce
from config import *


    qry_result = sf.query("SELECT Phone, Name, Account.Name FROM Contact")
    logging.debug('SF QueryResult TotalSize {0}'.format(qry_result['totalSize']))
    df = DataFrame(qry_result['records'])

    is_done = qry_result['done'];
    while not is_done:
        try:
            qry_result = sf.query_more(qry_result['nextRecordsUrl'], True)
            df = df.append(DataFrame(qry_result['records']))

            if qry_result['done']:
                is_done = True;
                logging.debug('SF completed')

        except NameError as e:
                logging.error('SOQL failed', e)
                SystemExit(17)

    df = df.drop('attributes', axis=1)
    return df

def extract_numbers_and_canonicalize(df):
    phone_numbers = []
    account_numbers = []
    name = []

    for row in df.itertuples():
        print(row)
        logging.info(row)

        phone = extract(row, 'Phone' + ';')
        if phone:
            phone_numbers.append(phone)

        account_numbers = extract(row, 'account_numbers' + ';')
        if account_numbers:
            account_numbers.append(account_numbers)

        name = extract(row, 'name')
        if name:
            name.append(name)


    header = [phone_numbers, account_numbers, name]

    series = Series(data=header)
    unique_series = series.unique()


    return DataFrame(data=unique_series, columns=['numbers'';''names' ';' 'accountnames'])

def extract(tuple, column):
    if not hasattr(tuple, column):
        return None

    value = getattr(tuple, column)
    if not value:
        return None

    return canonicalize(value)



def query_contacts_and_write_csv():
    contacts = query_sf_contacts()
    numbers = extract_numbers_and_canonicalize(contacts)


    DataFrame.to_csv(numbers, encoding='utf-8', path_or_buf=CSV_RESULT_FILE, index=False)


query_contacts_and_write_csv()

Hello Python People,

也许有人可以帮助我解决我的问题。 我想用3个数组创建csv文件。 我认为我必须更改unique_series 去别的东西。 这甚至可以与iam使用的方法一起工作吗(如果我仅以电话号码为例,它就可以正常工作)。 预先感谢您的提示。

0 个答案:

没有答案