将制表符分隔 (\t) 文本文件转换为另一个制表符分隔 (\t) 文本文件,没有 python 中的最后一列

Convert tab delimited (\t) text file to another tab delimited (\t) text file without last column in python

我有一个包含九列的制表符分隔 (\t) 文本文件,如何在 python

中获取最后一列的相同制表符分隔 (\t) 文本文件

示例数据 (sampledata.txt)

col1 col2 col3 col4 col5 col6 col7 col8 col9

val1 val2 val3 val4 val5 val6 val7 val8 val9

预期输出 (expecteddata.txt)

col1 col2 col3 col4 col5 col6 col7 col8

val1 val2 val3 val4 val5 val6 val7 val8

此处制表符分隔符不可见,列之间有制表符 space,我正尝试通过 python 代码

删除最后一列

通过pandas直接阅读

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]

然后转换回文本文件

写入 csv 时使用编码 utf-8,保存为文本时使用文本(制表符分隔符)

我找到了答案,查看下面的代码

import pandas

使用 \t 分隔符将文本文件读入数据框

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

删除数据框中的最后一列

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

用\t定界符写入文本文件

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