Запросите несколько REST API одновременно

Вы можете отличать столбцы, если разные типы (datetime и timestamp или str), и использовать to_datetime:

df.loc[:,'Date'] = pd.to_datetime(df.Date.astype(str)+' '+df.Time.astype(str))

Результат:

0   2013-01-06 23:00:00
1   2013-02-06 01:00:00
2   2013-02-06 21:00:00
3   2013-02-06 22:00:00
4   2013-02-06 23:00:00
5   2013-03-06 01:00:00
6   2013-03-06 21:00:00
7   2013-03-06 22:00:00
8   2013-03-06 23:00:00
9   2013-04-06 01:00:00

Лучший,

0
задан Masum 6 March 2019 в 13:22
поделиться

2 ответа

Вы можете вызывать это несколько раз, поскольку это асинхронный обратный вызов с использованием модификации Square

public void Prepare_Review_data() {
    try {
        if (token != null) {
            if (isConnected()) try {
                loading = ProgressHUD.show(getContext(), "Loading Reviews", true, false, Heizolscout_Reviews.this);
                Call<JsonElement> call = apiService.Heizolscout_Reviews("Bearer " + token.getAccessToken());
                call.enqueue(new Callback<JsonElement>() {
                    @Override
                    public void onResponse(Call<JsonElement> call, Response<JsonElement> response) {
                        Log.d("History Information", response.toString());
                        loading.dismiss();
                        if (response.code() == 401) {
                            Fragment frag = new Heizolscout_Login();
                            if (frag != null) {
                                FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
                                FragmentTransaction ft = fragmentManager.beginTransaction();
                                ft.replace(R.id.sacreenarea, frag);
                                ft.commit();
                            }
                        } else if (response.code() == 200) {
                            try {
                                Gson gson = new Gson();
                                Type listType = new TypeToken<List<Review_Model>>(){}.getType();
                                ArrayList<Review_Model>noti = gson.fromJson(response.body(), listType);
                                Log.d("Notification success",Review_models.size()+"");
                                if (noti.size()>0){
                                    for (Review_Model n:noti){
                                        Review_models.add(n);
                                    }
                                    Review_Adapter.notifyDataSetChanged();
                                }else {
                                    Toast.makeText(getActivity(),getString(R.string.review_no_list_string), Toast.LENGTH_LONG).show();
                                }
                                Review_Adapter.notifyDataSetChanged();
                            } catch (Exception e) {
                                Log.d("Error Line Number", Log.getStackTraceString(e));
                            }
                            try {
                                Log.d("History error", response.body().getAsJsonObject().get("error").toString());
                                if (!response.body().getAsJsonObject().get("error").isJsonNull()) {
                                    Show_Alert(getString(R.string.open_email), response.body().getAsJsonObject().get("error").toString(), getString(R.string.ok), getString(R.string.normal));
                                }
                            } catch (Exception e) {
                                Log.d("Error Line Number", Log.getStackTraceString(e));
                            }
                        } else if (response.code() == 422) {
                            Show_Alert(getString(R.string.invalid_tittle), getString(R.string.invalid_tittle_details), getString(R.string.ok), getString(R.string.normal));
                        } else {
                            Show_Alert(getString(R.string.error_tittle), getString(R.string.error_tittle_details), getString(R.string.ok), getString(R.string.normal));
                        }
                    }

                    @Override
                    public void onFailure(Call<JsonElement> call, Throwable t) {
                        // Log error here since request failed
                        Log.e("Error", t.toString());
                        Show_Alert(getString(R.string.error_tittle), getString(R.string.error_tittle_details), getString(R.string.ok), getString(R.string.normal));
                        loading.dismiss();
                    }
                });
            } catch (Exception e) {
                loading.dismiss();
                Log.d("Error Line Number", Log.getStackTraceString(e));
            }
            else {
                Show_Alert(getString(R.string.internet_tittle), getString(R.string.internet_details), getString(R.string.ok), getString(R.string.nointernet));
            }
        } else {
            Fragment frag = new Heizolscout_Login();
            if (frag != null) {
                FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
                FragmentTransaction ft = fragmentManager.beginTransaction();
                ft.replace(R.id.sacreenarea, frag);
                ft.commit();
            }
        }
    } catch (Exception e) {
        Log.d("Error Line Number", Log.getStackTraceString(e));
    }
}
0
ответ дан Muhaiminur Rahman 6 March 2019 в 13:22
поделиться

Один из способов сделать это - использовать Observable.zip()

В вашем случае это будет примерно так:

Observable.zip( request1, request2.doOnError(//show error here), BiFunction<response1,response2, combinedResponses>{response1, response2 -> new CombinedResponses(response1, response2)}).subscribe(new Observer{...})

Если вам нужна дополнительная информация, вы можете всегда изучайте документацию

0
ответ дан petryk33 6 March 2019 в 13:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: