Попробуйте
ser = pd.read_json('people_wiki_map_index_to_word.json', typ='series')
Этот файл содержит только пары значений ключа, значения которых являются скалярами. Вы можете преобразовать его в dataframe с помощью ser.to_frame('count')
.
Вы также можете сделать что-то вроде этого:
import json
with open('people_wiki_map_index_to_word.json', 'r') as f:
data = json.load(f)
Теперь данные являются словарем. Вы можете передать его конструктору dataframe следующим образом:
df = pd.DataFrame({'count': data})
Я думаю, что проблема возникает на шаге 6: Login box popped up.(Click on page to simulate)
.
Посмотрите на приведенные ниже коды в btn.clicked:
btn.Clicked += (sender, e) =>
{
MessagingCenter.Send<object>(this, "LoginLogout");
Console.WriteLine("popAction");
Navigation.PopModalAsync();
};
И обработайте выход:
async Task HandleLogOut()
{
if (login)
{
await MainPage.Navigation.PushModalAsync(new Main1 { BackgroundColor = Color.Orange });
Console.WriteLine("PushModalAction");
}
else
{
MainPage = new Main1 { BackgroundColor = Color.Green };
}
login = !login;
}
Я печатаю popAction
и PushAction
в вашем коде, вы обнаружите, что popAction
выполняется до PushAction
.
Решение:
Вы должны выполнить popAction
после завершения pushModalAction
.
Я переместил Navigation.PopModalAsync();
из btn.clicked
в HandleLogOut
, а затем он работает хорошо.
btn.Clicked += async (sender, e) =>
{
MessagingCenter.Send<object>(this, "LoginLogout");
};
В ручном выходе:
async Task HandleLogOut()
{
if (login)
{
Console.WriteLine("PushModalAction");
await MainPage.Navigation.PushModalAsync(new Main1 { BackgroundColor = Color.Orange });
Console.WriteLine("popAction");
MainPage.Navigation.PopModalAsync();
}
else
{
MainPage = new Main1 { BackgroundColor = Color.Green };
}
login = !login;
}