如何从文本文件中删除该分号(;)。我的文本文件的内容:
201911007,1,28;
201203008,1,28;
199710014,1,28;
201612010,1,28;
201710017,1,28;
然后python读取它,如果我运行代码,它总是在28末尾有分号
with open("empMR.txt", 'r') as files:
for dln in files:
dln = dln.strip()
if len(dln) >= 1:
lii = dln.split(",")
MR_empno.append(lii[0].strip())
month.append(lii[1].strip())
days_work.append(lii[2].strip())
print(days_work)
输出:['28;','28;','28;','28;','28;']我想删除每个输出上的分号(;)预期输出[28,28,28,28,28]
正则表达式是字符串的强大工具。
import re
in_list = ['28;', '28;', '28;', '28;', '28;']
out_list = [re.sub(';', '', item) for item in in_list]
print(out_list)
['28', '28', '28', '28', '28']
有几种方法可以解决此问题。
.replace()
方法,类似dln.replace(';', '')
可能会有所帮助dln = dln[:-1]
可能会有帮助选择哪种选择取决于您对数据看起来总是一样有信心,以及您更喜欢哪种方法