遇到这样问题,比如文本中显示
1 2 a
2 3 a
3 4 a
4 5 a
如何操作可以显示
1 a
2 a
3 a
4 a
读入list,split之后按需取用
或者用pandas库进行读入
import os
with open('./pastebin.txt', 'r') as ori:
list1 = []
list1.extend(map(lambda x: x.replace(
'\n', '').split(' '), ori.readlines())) # 获取每行内容,去除行末换行,按空格分割,存入list1
# print(list1)
list2 = list(map(lambda x: [x[0], x[2]], list1)) # 将list1切片后将需要的部分放入list2
print(list2) # 打印处理结果
有帮助望采纳~
使用pandas较为简单,先用read_csv读取txt文档,用iloc选取指定的列的子数据框即可,代码如下:
import pandas as pd
df=pd.read_csv('t0228.txt',sep=' ',header=None)
res=df.iloc[:,[0,2]]
print(res)
运行结果:
0 2
0 1 a
1 2 a
2 3 a
3 4 a
如有帮助,请点击采纳。
def make(file,*column):
with open(file,'rt') as tf:
for i in tf:
if i.strip():#如果不是空行
k=i.replace('\n','')#去掉行位换行符
rowlst = k.split(' ')#字符串转换成列表
#列表推导,三元赋值,如果x在rowlst长度区间内则取值,否则用空格代替
newlist=[rowlst[x] if x<len(rowlst) and x >=0 else ' ' for x in column]
#转换为字符串打印
print((' ').join(newlist))
make('test.txt',0,2,5,6)
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!