我有多个文本文件(超过500个文件)。每个文件都以我不需要的标题信息开头,并希望从文件中删除。标题信息在第33行结束,用于所有文件。执行此类任务的最佳方式/工具是什么?
我可以访问R,如果有必要,我可以访问python。我在下面提供了一个图像作为这些文件的一个示例。 (我想在~A之前删除信息)
我感谢您提前帮助。
答案 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)