python читать текстовый файл, добавлять строки и создавать новый текстовый файл - PullRequest
0 голосов
/ 05 августа 2020

У меня есть текстовый файл с разделителем каналов, как показано ниже:

    a|b|c|d|e|f
    d|f|g|h|j|k

Я хочу прочитать значения из текстового файла и присвоить имена столбцам, как показано ниже

      data1 = index(1)
      data2 = index(2)
      data3 = index(3)
      data4 = index(4)
      data5 = index(5)
      data6 = index(7)
      data7 = "xyz"
      data8 = "hgf"
      data9 = "opi"

Теперь Я хочу записать все в новый текстовый файл, как показано ниже: data8 | data9 | data2 | data3 | data1 | data5 | data6 | data4 | data7 |

Любая помощь приветствуется.

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

вы можете использовать список для хранения значений

Пример:

#after reading the file - output "a|b|c|d"
out = "a|b|c|d"
out = out.split("|") #will output ["a", "b", "c", "d"]
#here you can change the values of the list
#re-creating string with separators

for i in range(0, len(out) * 2, 2):
    out.insert(i, "|")

out = "".join(out)

Это должно дать вам желаемый результат. чтобы открыть файлы, сделайте это file = open("filename.ext", "(w) for write or (r) for read only"), затем введите do file.write("text"), чтобы прочитать все сразу: file.read() и получить строки do file.readlines(amount of lines to read - leave blank for all lines). Надеюсь, это может быть полезно.

0 голосов
/ 05 августа 2020

Для записи в файл все, что вам нужно сделать, это открыть его, записать, а затем закрыть

f = open("name.txt", "w")
f.write(data8 + '|')
f.write(data9 + '|')
f.write(data2 + '|')
f.write(data3 + '|')
f.write(data1 + '|')
f.write(data6 + '|')
f.write(data4 + '|')
f.write(data7 + '|')
f.close()

Файл будет создан в каталоге, в котором вы запустили программу. Если вы хотите записывать данные не в строковом формате, используйте str () вокруг данных.

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