我有一个带有九列的制表符分隔(\ t)文本文件,如何获取相同的制表符分隔(\ t)文本文件,其中包含python中的最后一列
示例数据(sampledata.txt)
col1 col2 col3 col4 col5 col6 col7 col8 col9 col9
val1 val2 val3 val4 val5 val6 val7 val8 val9
预期输出(expecteddata.txt)
col1 col2 col3 col4 col5 col6 col7 col8 col8
val1 val2 val3 val4 val5 val6 val7 val8 val8
这里的tab分隔符不可见,列之间有一个制表符空间,我试图通过python代码删除最后一列
答案 0 :(得分:1)
直接通过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和useText(制表符分隔符)时使用编码utf-8,同时将其另存为文本
答案 1 :(得分:0)
我找到了答案,请检查以下代码
导入pandas
使用\ t分隔符
将文本文件读入数据框dataframe = pandas.read_csv(' sampledata.txt',分隔符=" \ t")
删除数据框中的最后一列
dataframe = dataframe.iloc [:,: - 1]
按\ t分隔符
编写文本文件dataframe.to_csv(r' expecteddata.txt',header = True,index = None,sep =' \ t')