将制表符分隔(\ t)文本文件转换为另一个制表符分隔(\ t)文本文件,而不包含python

时间:2018-06-06 06:44:52

标签: python-3.x text-files delimiter

我有一个带有九列的制表符分隔(\ 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代码删除最后一列

2 个答案:

答案 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')

相关问题