Как добавить новую строку в существующий текстовый файл - PullRequest
0 голосов
/ 21 января 2020

Я хочу вставить новую строку в текстовый файл, используя блокнот jupyter.

25.650  166.965 431.000 12.000  67.000
50.190  231.984 801.000 20.000  98.000
77.840  103.143 244.000 9.000   49.000
82.967  82.682  544.000 15.000  71.000```

Data looks like this, i want to insert column names to the top of the these data and save it in a new csv file

Ответы [ 2 ]

1 голос
/ 21 января 2020

Вы можете использовать Pandas, чтобы прочитать файл csv как фрейм данных, добавить имена столбцов, а затем сохранить обратно как файл csv.

import pandas as pd

filename = "your_file.csv"
df = pd.read_csv(filename, header=None)
df.columns = ['col_1', 'col_2', 'col_3', 'col_4', 'col_5']
df.to_csv(filename)

Использование модуля csv немного более сложный Создайте новый файл, напишите имена столбцов, а затем запишите каждую строку, считанную из исходного файла.

import csv

new_filename = 'your_new_file.csv'
column_names = ['col_1', 'col_2', 'col_3', 'col_4', 'col_5']
with open(filename, 'r') as infile, open(new_filename, 'w') as outfile:
    reader = csv.reader(infile)
    writer = csv.writer(outfile)
    writer.writerow(column_names)
    for row in reader:
        writer.writerow(row)
0 голосов
/ 21 января 2020

Вы можете воспользоваться тем, что находитесь в экосистеме Jupyter, и просто перенести файл данных с помощью команды оболочки, находясь в блокноте. (Я предполагаю, что ваши столбцы данных разделены табуляцией.) В ячейке вашей записной книжки выполните следующее, заменив data.tsv именем вашего файла и добавив реальные имена столбцов для заполнителей:

!echo -e "col_1\tcol_2\tcol_3\tcol_4\tcol_5\n$(cat data.tsv)" > data.tsv

Если вместо этого вы на самом деле используете файл, разделенный запятыми, используйте запятые, где я ставлю \t, что добавляет вкладки. Аналогично, если данные разделены только пробелами.

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