Python-如何从文件中删除列

Esa*_*san 1 python file

我想从文件中删除第一列.该文件包含3个以空格分隔的列,列具有以下标题:X','Displacement'和'Force'(请参见图像).

数据文件

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

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

任何帮助深表感谢 !惠山

Joe*_*ett 8

首先,您试图从一个打开的文件中读取(通过迭​​代文件内容).这会给你一个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()
Run Code Online (Sandbox Code Playgroud)