Python text'i excel'e çekme

Merhabalar.
Text dosyamda aşağıdaki gibi veriler var. Her satırın başında saat bilgisi yanında ise değişken sayıda kişi ismi var.

15:12 İsmail Ali
15:15 Can
18:27 Ayşe Fatma
18:27 aa bb cc

Text okumayı, satırı parçalayıp verileri almayı, excele yazmayı falan biliyorum ama bu bilgileri nasıl excele yazdırabilirim?

Bu işi yapabilecek bilgiye sahipsiniz. Bize neyi soruyorsunuz?

1 Beğeni

Biliyorum dediğiniz şeyler zaten yeterli bu işlem için.

Hocam satır sayısı ve satırdaki kişilerin sayısı değişiyor. Bu yüzden mantığını kuramadım. Her satırdaki saat bilgisini ve kaç kişi varsa onların bilgisini alış excel’e yazdırmayı yapamadım.

Eğer her satırda sadece isim varsa yani soyisim yoksa; tekSatir=satır.split(’ ') şeklinde boşluk karakterine gore parcalayabilirsin. openpyxl kullanirsan zaten excel.append(tekSatir) diye ekleyebilirsin. İlk değerin tarih diğerleri de isimler olur.

Merhaba,

Aşağıdaki gibi bir tablo mu oluşturmak istiyorsunuz?

index

Yoksa ikinci resimdeki gibi bir tablo mu oluşturmak istiyorsunuz?

index2

Eğer ilk resimdeki gibi bir tablo oluşturmak istiyorsanız, şöyle yapabilirsiniz:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import xlsxwriter

workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet("Sayfa1")
worksheet.set_column("B:B", 20)

with open(file="test.txt", mode="r", encoding="utf-8") as f:
    for i, j in enumerate(f.readlines()):
        worksheet.write(i, 0, j.split(" ")[0])
        worksheet.write(i, 1, " ".join(j.split(" ")[1:]))
    workbook.close()

Şayet ikinci resimdeki tabloya benzer bir şey oluşturmak istiyorsanız da şöyle yapabilirsiniz:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import xlsxwriter

workbook = xlsxwriter.Workbook("test.xlsx")
worksheet = workbook.add_worksheet("Sayfa1")

with open(file="test.txt", mode="r", encoding="utf-8") as f:
    for i, j in enumerate(f.readlines()):
        for k, m in enumerate(j.split(" ")):
            worksheet.write(i, k, m)
    workbook.close()
1 Beğeni

Çok teşekkür ederim :slight_smile: