#python #arrays #numpy #text-files
#python #массивы #numpy #текстовые файлы
Вопрос:
Я пытаюсь добавить столбец возрастающих кратных 4, скажем (4 8 12 16), к уже существующим данным чисел ТЕКСТОВОГО файла. Однако, когда я пробую код [упомянутый ниже], данные столбца добавляются в конец данных существующего текстового файла. Я не могу использовать PANDAS, потому что в программном обеспечении Abaqus его нет.
Вот существующие данные в примере примера текстового файла (я использовал запятую здесь для разделения целых чисел):
53 , 25
55 , 39
78 , 87
32 , 17
Ожидаемый результат:
4 , 53 , 25
8 , 55 , 39
12 ,78 , 87
16 ,32 , 17
Вот код
import numpy as np
# defining the numbers i want to add to the text file
x1 = np.array(range(4,20,4)).tolist()
# opening the existing data file using **append** format
exisiting_data = open('data.txt', 'a')
# looping through the numbers to add to the text file
for eachitem in x1:
exisiting_data.write(str(eachitem) 'n')
exisiting_data.close()
вывод:
Когда я делаю это, я получаю вывод в виде
53 , 25
55 , 39
78 , 87
32 , 17
4
8
12
16
Я думаю, это просто для многих из вас. Пока я новичок. Спасибо за ваши предложения и ответы. Спасибо
Ответ №1:
Вы не можете напрямую записать свой ряд в качестве первого столбца в вашем текстовом файле. Что вы можете сделать, так это создать второй файл и записать свои ряды (4, 8, 12) данные из вашего первого файла во второй.
Комментарии:
1. existing_ data_file = открыть(«data.txt » , » р») …………. numbers_file = открыть(«numbers.txt » , » ш»)…………. для строки в существующем_ файле данных: numbers_file. запись (строка)
2. Я попробовал ваши предложения и написал этот код. Но, к сожалению, данные во втором файле стираются из-за формата ‘w’. Пожалуйста, помогите мне написать код в вашем уме. Пожалуйста
3. Я думаю, вы можете попробовать это
with open("two.txt", "w") as f: lines = open("one.txt").readlines() x = 4 for line in lines: f.write(str(x) "," line)