Skip to main content
 首页 » 编程设计

Python-如何从文件中删除列

2025年05月04日10txw1958

我想从文件中删除第一列。该文件包含 3 列,由空格分隔,各列的标题如下: X'、'Displacement' 和 'Force'(请看图片)。

我想出了以下代码,但令我失望的是它不起作用!

f = open("datafile.txt", 'w') 
 for line in f: 
  line = line.split() 
  del x[0] 
f.close() 

非常感谢任何帮助! 伊桑

请您参考如下方法:

首先,您正试图从一个以写入方式打开的文件中读取(通过遍历文件内容)。这会给你一个 IOError。

其次,不存在名为 x 的变量(您尚未在脚本中声明/设置一个)。这将生成一个 NameError。

第三也是最后,一旦您完成(正确)读取和编辑文件中的列,您将需要将数据写回到文件中。

为了避免一次将一个(可能很大的)文件加载到内存中,从一个文件(逐行)读取并同时写入一个新文件可能是个好主意。

这样的事情可能会起作用:

f = open("datafile.txt", "r") 
g = open("datafile_fixed.txt", "w") 
 
for line in f: 
    if line.strip(): 
        g.write("\t".join(line.split()[1:]) + "\n") 
 
f.close() 
g.close()