Readin a .txt file and put the elements in a list (Python)

前端 未结 3 973
南旧
南旧 2021-01-25 05:52

Im new in Python and i need some help. i got a .txt file in this form:

Time[tab]Signal

0[tab]1.05

0.5[tab]1.06

1[tab]1.09

1.5[tab]1.12

Now

相关标签:
3条回答
  • 2021-01-25 05:56

    Change the File_Name= according to your needs.

    File_Name = 'aa.txt'
    time_list = []
    signal_list = []
    with open(File_Name,'r') as fh:
        for line in fh:
            line = line.strip() 
            time,signal = line.split()
            time = time.strip()
            signal = signal.strip()
            time_list.append(time)
            signal_list.append(signal)
    
    print(time_list)
    print(signal_list) 
    
    0 讨论(0)
  • 2021-01-25 05:56

    I have created a .txt file with same contents that you provided and the program you wrote prints this (multi-dimensional list):

    [['Time', 'Signal'], ['0.5', '1.06'], ['1', '1.09'], ['1.5', '1.12']]
    

    By the looks of it your file isn't actually .txt.

    To answer your question:

    del list1[1]
    

    This will delete the wrong position. To delete Time/Signal line, you should do this instead:

    del list1[0]
    

    This is because items in Python lists start at positon 0.

    Try this code (list comprehension):

    daten = open("extedit.txt", "r")
    lines = daten.readlines()
    list1 = []
    for i in lines:
        list1.append(i.strip().split('\t'));
    daten.close()
    
    del list1[0]
    
    zeit = [i[0] for i in list1]
    
    signal = [i[1] for i in list1]
    
    print(zeit)
    print(signal)
    
    0 讨论(0)
  • 2021-01-25 06:18

    don't use semicolons in python! As suspected, you are trying to read a RTF file.
    First reformat your file. I propose also an other way:

    import csv
    
    list1 = []
    with open("extedit.txt") as tsv:
        for line in csv.reader(tsv, dialect="excel-tab"):
            list1.append(line[0])
    
    del list1[0]
    print(list1)
    
    0 讨论(0)
提交回复
热议问题