Mmimic MS Access в python для ввода данных и связывания полученной таблицы с другими таблицами - PullRequest
0 голосов
/ 17 сентября 2018

Может ли кто-нибудь сказать мне, если я нахожусь на правильном пути, если хотите имитировать MS Access в Python с помощью словарей?Я хочу создать форму ввода, например, в Microsoft Access.Я уже создал код ниже, который работал нормально, но потом я обнаружил, что в словарях обычно есть только одно значение на ключ.Итак, теперь я задаюсь вопросом, что является предпочтительным вариантом, может быть массив в numpy или может использовать списки в качестве значения в словаре?

После создания таблицы данных я хотел бы иметь возможность связать ее с другими таблицами и выполнять с ней вычисления, как в MS Access, но, полагаю, я могу сам ее кодировать.

my_dict = dict()
value=0
while value != "q":
     print (my_dict)
     editkey = input("choose key to edit or q to quit: ")
     if editkey in my_dict.keys():
         print ("already existing key with value: ")
         print (my_dict[editkey])
         newvalueyn=input("new value y/n?: ")
         if newvalueyn == "y":
             value=input("new value: ")
             my_dict[editkey] = value
         else:
             print("no change")
     else:
         value=input("new value: ")
         my_dict[editkey] = value

1 Ответ

0 голосов
/ 17 сентября 2018

Я еще не там, но один шаг за раз

import pandas as pd
import numpy as np
s1 = pd.Series([5, 6, 7])
s2 = pd.Series([7, 8, 9])
index = np.array([0, 1, 2])
df2 = pd.DataFrame(columns=['project', 'start', 'end'], index=index)
df2.loc[0:1] = [list(s1), list(s2)]
our_list = [] # create empty list
while objectnr != "q": 
    objectnr = int(input('objectnr or q: '))
    print(df2.loc[objectnr])
    newvalueyn=input("new value y/n?: ")
    if newvalueyn == "y":
        first_num = int(input('Enter first number: '))
        second_num = int(input('Enter second number: '))
        third_num = int(input('Enter third number: '))
        our_list.append(first_num)
        our_list.append(second_num)
        our_list.append(third_num)
        df2.loc[objectnr] = np.asarray(our_list)
        print(df2)
    else:
        print(df2)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...