消除多个文本文件中的标题信息

时间:2018-04-20 20:17:40

标签: python r header file-import

我有多个文本文件(超过500个文件)。每个文件都以我不需要的标题信息开头,并希望从文件中删除。标题信息在第33行结束,用于所有文件。执行此类任务的最佳方式/工具是什么?

我可以访问R,如果有必要,我可以访问python。我在下面提供了一个图像作为这些文件的一个示例。 (我想在~A之前删除信息)

我感谢您提前帮助。

enter image description here

3 个答案:

答案 0 :(得分:1)

import os

filename = 'foo.txt'
temp_filename = 'foo.temp.txt'

with open(filename) as f:
    # skip 32 lines:
    for n in range(32):
        f.readline()
    # write data from line 33 and next lines to a new file
    with open(temp_filename, 'w') as w:
        w.writelines(f)

# delete original file and rename the temp file so it replaces the original
os.remove(filename)
os.rename(temp_filename, filename)

答案 1 :(得分:1)

pandas read_csv有一个skiprows参数:

pd.read_csv('foo.txt', skiprows=33)

或者,使用上下文处理程序:

with pd.read_csv('foo.txt', skiprows=33) as f:

答案 2 :(得分:0)

R read.table有一个跳过参数。但是,标题行开头的“~A”需要特殊处理。我想我也可能会把它留下来,然后根据需要指定列名。

 filename <- "sthng.txt"
 my_df <- read.table( filename, header = FALSE, 
                                colnames=c("DET", "hello", "Variable"),
                                skip = 34)