想通过python找出txt文档中的一行信息
答案:4 悬赏:40 手机版
解决时间 2021-03-23 18:10
- 提问者网友:骨子里的高雅
- 2021-03-23 13:11
假如现在有一个txt是一行行写好的,每一行是学号、姓名、……的信息,想根据学号得到那一行数据,请问代码怎么写?3ks
最佳答案
- 五星知识达人网友:白昼之月
- 2021-03-23 14:25
def loadfromfile(filename):
with open(filename, 'rt') as handle:
return handle.readlines()
def findnum(lst, num):
for i, ln in enumerate(lst):
if ln.startswith(num):
return i, ln
data = loadfromfile("student.txt")
i, ln = findnum(data, "S1053")
print "the num %s student is at %d line, context:%s" % (i+1, ln)
with open(filename, 'rt') as handle:
return handle.readlines()
def findnum(lst, num):
for i, ln in enumerate(lst):
if ln.startswith(num):
return i, ln
data = loadfromfile("student.txt")
i, ln = findnum(data, "S1053")
print "the num %s student is at %d line, context:%s" % (i+1, ln)
全部回答
- 1楼网友:迷人又混蛋
- 2021-03-23 17:34
def search_by_code(code):
with open("data.txt") as fp:
lines = fp.readlines()
ret = filter(lambda l:l.startswith(code), lines)
return None if ret else ret[0]
- 2楼网友:零点过十分
- 2021-03-23 16:39
类似于数据库?首先你可以用sqlite3这个模块,sqlite3,你可以百科查,这样用sql语句就可以了,
也可以读取按行读取,再加in判断,成立就输出这一行。具体代码就不用写了吧,,,
- 3楼网友:行路难
- 2021-03-23 15:45
有个脏方法啊。
算法: 1.取出txt2, txt1所有行的内容。
2.用txt2行中的内容去判断。这样逻辑清晰
3.时间复杂度m*n (m,n为txt的行数)
txt1 = 'your_path'
txt2 = 'your_path'
txt_dump = 'your_path'
txt1_lines, txt2_lines , dump_lines= [], [], []
def load_txt(file, ary):
with open(file, 'rb') as f:
for line in f.readlines():
ary.append(line)
load_txt(txt1, txt1_lines)
load_txt(txt2, txt2_lines)
for line_txt2 in txt2_lines:
for line_txt1 in txt1_lines:
if line_txt2 in line_txt1:
dump_lines.append(line_txt1)
with open(txt_dump, 'wb') as f:
f.writelines(dump_lines)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯