|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 meiszp 于 2017-9-13 16:42 编辑
想批量删除txt文件的前几行前几列,下面代码可以实现删除行,删除列似乎有点复杂,没有思路,请指教?
- import os
- LineNumber=int(input("删除前()行:"))
- ColummNumber=int(input("删除前()列:"))
- for f in os.listdir('.'):
- if '.txt' in f:
- lines = open(f).readlines()
- open(f, 'w').writelines(lines[LineNumber:])
复制代码
不知道楼主要的是不是这种结果:
删除前:
删除后:
如果是的话代码如下:
- import numpy as np
- def column_slice(text_path, start, end):
- """
- :param text_path:文件路径
- :param start: 从第几列开始切(前面的不要)
- :param end: 从倒数第几列开始切(后面的不要)
- :return:
- """
- with open(text_path, 'r', encoding='utf-8') as f:
- lines = f.readlines()
- data = [i.split() for i in lines]
- data_array = np.array(data)
- new_data_array = data_array[:, start:end]
- write_data = [''.join(i) + '\n' for i in new_data_array]
- with open('new_text.txt', 'w', encoding='utf-8') as f:
- f.write(''.join(write_data))
- if __name__ == "__main__":
- text_path = str(input('请输入需要转换文本相对于此py文件的路径(也就是相对路径)'))
- start = int(input('输入从第几行开始'))
- end = int(input('输入第几行结束,可以从后往前算'))
- column_slice(text_path, start, end)
复制代码
这个使用numpy的多维数组 非常好处理
PS : input那几行不知道能不能用 你可以直接给 column_slice 传参使用。
|
|