Liste içerisindeki 2 farklı listeyi bölmek

[’ “[a,b,c,d], [e, f, g,h]” '] merhaba şu şekilde oluşan oluşan bir .csv dosyam var. Bu dosyayı bir listeye aktarıyorum daha sonrada bunu iki sütunda giemek istiyorum yani ilk köşeli parantez 0. Sütun diğeri 1. Sütun olarak ama hepsini tek bir sütun gibi okuyor. Yani [1] böyle yazdıgımda liste dışı diyor. [0] bu şekilde yazıncada hepsini alıyor. Ben istiyorum ki [0] oldugunda [a, b, c, d] yazsın [1] olunca da [e, f, g ,h]

Merhaba,

Bu bir CSV dosyasindan ziyade python listesine benziyor.

Bunu kod ve ciktisi olarak anlatirsan anlasilir olur:

>>> a = [' "[foo], [bar]" ']
>>> a[0]
' "[foo], [bar]" '
>>> a[1]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IndexError: list index out of range

Bi de sanirim bozuk bir kodu duzeltmek istiyorsun. O halde bozuk kodu gormemiz lazim.

List=[]                            
for i in open('araclar.csv'):    
    x=i.rstrip()            
    List.append(x.split('[],[]'))   

import sqlite3

con = sqlite3.connect("Listeleme.db")
cursor = con.cursor()

def tabloolustur():    

    cursor.execute("create table if not exists Listeleme (X, Y)")
    
def degerekle():
    
    k=len(List)
    for index in range(0, k):
        cursor.execute("insert into Listeleme (X, Y) values(?, ?)",
                   (List[index][0], List[index][1]) )
    con.commit()
    con.close()
    
tabloolustur()
degerekle()

Traceback (most recent call last):

File “C:\Users\Asus\Desktop\Tez\python\atamayeni.py”, line 115, in
degerekle()

File “C:\Users\Asus\Desktop\Tez\python\atamayeni.py”, line 110, in degerekle
(List[index][0], List[index][1]) )

IndexError: list index out of range

araclar.csv'yi gormeden bir sey soylemek zor fakat CSV dosyasiysa okumak icin csv modulu var.

(a,b), (1, 2, 3, 6, 8, 10, 11, 12)
(1, 2), (k,l, 5, 4, i, 8, h, 14, f)

.csv dosyam şu şekilde daha da uzun tabi önceden bu parantezler [ ] bu şekildeydi ben sonra ( ) bu şekle döndüştürdüm çünkü listeye değişken olarak tanımladığımda iç içe gibi oluyordu. Ama şimdide istediğim gibi olmuyor

Eger ilk satirda (a ile baslayan 10 hucre ve ikincide 11 tane yoksa, o dosya CSV formatinda degil. Hangi formatta oldugunu sormak durumundayim.

Elle parse edilecekse split ise yarar gibi durmuyor. Satir bazli re (regex) tavsiye edebilirim.