Python dosyadan okunup bulunan sonuçları veritabanına aktarma

Herkese merhaba,
Herhangi iki dosyadan aşağıdaki şekilde okutulmuş verilerim var yani dosya işlemlerim sonucunda aşağıdakileri buluyorum. Bunu veritabanına aktarmak istiyorum. Yani [1,1] [1,2] ler satır konumunda diğerleride sütun konusumunda olacak. satır ve sütunun birleşimlerinede True veya False hangi sonuc çıktı ise onun yazılması gerekiyor. Fakat satır oluşturup True ve False ları sonuçtan çekemedim.

‘’’
False -> [1, 1] [1, 2, 3, 6, 8, 10, 11, 12]
False -> [1, 1] [1, 2, 5, 4, 6, 8, 10, 14, 13]
False -> [1, 1] [9, 15, 7, 10, 11, 13, 14]
False -> [1, 1] [7, 15, 6, 3, 2, 4, 12, 11, 13]
False -> [1, 1] [12, 11, 10, 8, 6, 3, 2, 1]
False -> [1, 1] [13, 14, 10, 8, 6, 4, 5, 2, 1]
False -> [1, 1] [14, 13, 11, 10, 7, 15, 9]
False -> [1, 1] [13, 11, 12, 4, 2, 3, 6, 15, 7]
True -> [1, 2] [1, 2, 3, 6, 8, 10, 11, 12]
True -> [1, 2] [1, 2, 5, 4, 6, 8, 10, 14, 13]
False -> [1, 2] [9, 15, 7, 10, 11, 13, 14]
False -> [1, 2] [7, 15, 6, 3, 2, 4, 12, 11, 13]
False -> [1, 2] [12, 11, 10, 8, 6, 3, 2, 1]
False -> [1, 2] [13, 14, 10, 8, 6, 4, 5, 2, 1]
False -> [1, 2] [14, 13, 11, 10, 7, 15, 9]
False -> [1, 2] [13, 11, 12, 4, 2, 3, 6, 15, 7]
‘’’

Merhaba,

Daha önceki mesajınızdan devam edelim isterseniz. Bu verileri bir json dosyasına kaydedebilirsiniz.

Kesişimi bulan fonksiyon şuydu:

def intersection(x, y):
    result = {i: False for i in x}
    for i, j in enumerate(x):
        for k, m in enumerate(y):
            if j == m and all(n in y[k:] for n in x[i:]):
                result[j] = True
    return all(result.values())

Bütüm kesişimleri şöyle bulabiliriz.

def check_intersection(filename1, filename2):
    return [
        (intersection(i, j), i, j)
        for i in read_file(filename1)
        for j in read_file(filename2)
    ]

Sonuçları bir json dosyasına aktaran bir fonksiyon tanımlayabiliriz.

from json import dump


def to_json(filename, data):
    with open(filename, "w") as f:
        dump(data, f)


to_json("result.json", check_intersection("first.txt", "second.txt"))        

Bu dosyayı okumak istediğinizde Python’ın primitif veri tiplerini elde edersiniz.

from json import load


def from_json(filename):
    with open(filename) as f:
        return load(f)


data = from_json("result.json")
print(data[0])
# [False, [2, 1], [4, 10, 8, 9, 11, 14, 6, 9, 6, 5, 12, 9, 8, 3]]

En iyisi ben size ne yapmak istediğimi direk sorayım. Şuana kadar yardımınız sayesinde yazdığım kod aşağıdaki şekilde burada mesela [1,6] nın True olduğu anda örneğin True -> [1, 6] [1, 2, 3, 6, 8, 10, 11, 12] burada 1 ve 6 arasında hangi rakamlar var. Daha sonra ayrı bir txt dosyasından 1 ve 2 arasındaki mesafe 2 ve 3 arasındaki mesafe 3 ve 6 arasındaki mesafeleri okutup 1 ve 6 arasındaki toplam mesafe ile bir işlem gerçekleştireceğim.

‘’’
def read_file(talepler: str):
with open(talepler) as f:
return [list(map(int, i.split())) for i in f.readlines()]

def check_intersection(talepler: str, hatlar: str):
for i in read_file(talepler):
for j in read_file(hatlar):
intersection = False
save = [k for k in j]
if i[0] in j:
index1 = j.index(i[0])
j.remove(i[0])
if i[1] in j:
index2 = save.index(i[1])
if index2 >= index1:
intersection = True
if intersection:
print(True, “->”, i, save)
else:
print(False, “->”, i, save)

check_intersection(“talepler.txt”, “hatlar.txt”)
print("\n")

p = 60 #periyot
frekanslar = [35,30,14,15]
durakta_bekleme_suresi = []

for f in frekanslar:
dbs = p / (2 * f)
dbs=round(dbs,1)
durakta_bekleme_suresi.append(dbs)
print (f,dbs)

from json import dump

def to_json(Hatcinsi, data):
with open(Hatcinsi, “w”) as f:
dump(data, f)

to_json(“hatcinsi.json”, check_intersection(“talepler.txt”, “hatlar.txt”))

from json import load

def from_json(Hatcinsi):
with open(Hatcinsi) as f:
return load(f)

data = from_json(“hatcinsi.json”)
‘’’

Yeni sorunuz için başka bir başlık açın isterseniz, çünkü bahsettiğiniz yeni konu ile verilerin veritabanına nasıl aktarılacağı konusu farklı.

Anladım teşekkür ederim yardımınız için

Siz başlığı açın, burada olursam yardım etmeye çalışırım, olmazsam arkadaşlar yardımcı olmaya çalışırlar.

Çok çok teşekkür ederim :):slight_smile:

1 Beğeni