Сохранить элементы двух списков в столбцах в файле - PullRequest
0 голосов
/ 28 апреля 2020

Я должен сохранить в файле элементы двух списков следующим образом: элементы временной метки списка рядом с элементами идентификатора списка. Следующий код помещает элементы второго списка в тот же столбец элементов первого списка. Есть ли способ исправить код?

    class Videocamera(object):
        timestamp = []
        ID = []
        error = []
        def __init__(self, num_id):
            self.num_id = num_id
    file = open("Rilevazioni videocamera 1.txt", "w")
    V1 = Videocamera("VC00")
    V1.timestamp = [n for n in range(100)]
    for n in V1.timestamp:
        file.write(str(n))
        file.write("\n")
    for n in range(10):
        V1.ID.append(0)
    for n in range(10):
        V1.ID.append(1)
    for n in range(10):
        V1.ID.append("Pe0000")
    for n in range(10):
        V1.ID.append("Pe0001")
    for n in range(10):
        V1.ID.append(1)
    for n in range(10):
        V1.ID.append("Pe0002")
    for n in range(10):
        V1.ID.append(1)
    for n in range(10):
        V1.ID.append(0)
    for n in range(10):
        V1.ID.append("Pe0001")
    for n in range(10):
        V1.ID.append("Pe0000")
    for n in V1.ID:
        if n != 1:
            V1.error.append(False)
        else:
            V1.error.append(True)
    for n in V1.ID:
        file.write(str(n))
        file.write("\n")

1 Ответ

0 голосов
/ 28 апреля 2020

Средство записи файлов идет по строке, а не по столбцу. Каждый раз, когда вы называете «написать», он пишет строку. Выход из al oop не приводит к сбросу любого счетчика на ноль.

Сначала вы должны составить список V1.ID, а затем выполнить итерацию по двум спискам и написать строку с file.write("{0} {1}".format(timestamp, id)).

*. 1005 * Возможно, вы могли бы объединить два списка (https://docs.python.org/3.8/library/functions.html#zip), чтобы сделать итерацию проще.

Поскольку вы ответили, что это не работает: это не работает?

class Videocamera(object):
    timestamp = []
    ID = []
    error = []
    def __init__(self, num_id):
        self.num_id = num_id
file = open("Rilevazioni videocamera 1.txt", "w")
V1 = Videocamera("VC00")
for n in range(10):
    V1.ID.append(0)
for n in range(10):
    V1.ID.append(1)
for n in range(10):
    V1.ID.append("Pe0000")
for n in range(10):
    V1.ID.append("Pe0001")
for n in range(10):
    V1.ID.append(1)
for n in range(10):
    V1.ID.append("Pe0002")
for n in range(10):
    V1.ID.append(1)
for n in range(10):
    V1.ID.append(0)
for n in range(10):
    V1.ID.append("Pe0001")
for n in range(10):
    V1.ID.append("Pe0000")
for n in V1.ID:
    if n != 1:
        V1.error.append(False)
    else:
        V1.error.append(True)
V1.timestamp = [n for n in range(100)]

for n in range(len(V1.timestamp)):
    file.write(str(V1.timestamp[n])+" "+str(V1.ID[n]))
    file.write("\n")

или, или эквивалентно for n in range(100). Быстро и грязно, но работает, если это:

0 0
1 0
2 0
3 0
4 0
5 0
6 0
7 0
8 0
9 0
10 1
11 1
12 1
13 1
14 1
15 1
16 1
17 1
18 1
19 1
20 Pe0000
21 Pe0000
22 Pe0000
23 Pe0000
24 Pe0000

et c ... ваш ожидаемый результат. Если это не ваш ожидаемый результат, то не могли бы вы уточнить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...