Преобразовать текстовый файл с разделителями табуляции (\ t) в другой текстовый файл с разделителями табуляции (\ t) без последнего столбца в python - PullRequest
0 голосов
/ 06 июня 2018

У меня есть текстовый файл с разделителями табуляции (\ t) с девятью столбцами, Как получить тот же текстовый файл с разделителями табуляции (\ t) без последнего столбца в python

Пример данных (sampledata.txt)

col1 col2 col3 col4 col5 col6 col7 col8 col9

val1 val2 val3 val4 val5 val7 val8 val9

Ожидаемый результат (Ожидаемый_данных.txt)

col1 col2 col3 col4 col5 col6 col7 col8

val1 val2 val3 val4val5 val6 val7 val8

Здесь разделитель табуляции не виден, между столбцами есть табуляция, и я пытаюсь удалить последний столбец через код Python

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Я нашел ответ, проверьте следующие коды

import pandas

Считайте текстовый файл во фрейм данных с \ t delimiter

dataframe = pandas.read_csv ('sampledata.txt', delimiter = "\ t")

Удалить последний столбец в фрейме данных

dataframe = dataframe.iloc [:,: -1]

Запись текстового файла с помощью \ t delimiter

dataframe.to_csv (r'expecteddata.txt ', header = True, index = None, sep= '\ t')

0 голосов
/ 06 июня 2018

Чтение непосредственно через панд

df = pandas.read_csv(filename, sep='\t', lineterminator='\r')

Или попробуйте использовать кодеки - помогает в скорости и надежности

import codecs
import pandas
data = codecs.open('file','rU','UTF-16')
df = pandas.read_csv(data, sep='\t')

Удаление последнего столбца

df = df.iloc[:, :-1]

Затем преобразоватьвернуться к текстовому файлу

Использовать кодировку utf-8 при написании csv и useText (разделитель табуляции) при сохранении его в виде текста

...