我有一个文本文件,其中有数千行像这样的格式(a,b,c,d,e)(这里,a是6位数字,b是3位字母代码,c是日期,d是浮动number和e是-1,0或1)我想用这种格式(b,c,d)重新设置它。 例如(345678,' ABC',' 2010-01-01',0.123,' -1')=> (' ABC',' 2010-01-01',0.123)
我只是不知道从哪里开始? 在python如果我将行分配给变量,那么必须做什么?分裂还是其他什么?
我对perl也有一些了解,所以任何这些twlo langs中的任何帮助都将受到赞赏 - ))
text = open('text.txt', 'w')
for line in text:
#
#
#
答案 0 :(得分:3)
这样的东西?
import ast
with open("in.txt") as infile, open("out.txt", "w") as outfile:
for line in infile:
contents = ast.literal_eval(line)
outfile.write(str(contents[1:4]))
答案 1 :(得分:2)
按,\s()
char类拆分行,从2,3,4个位置获取值,并在其周围放置()
。
perl -F'[,\s\(\)]+' -ape '$_ = join ", ", @F[2,3,4]; $_ = "($_)"' text.txt
答案 2 :(得分:0)
你需要这些内容: -
for line in text:
line = line.strip('()')
fields = line.split(',')
print "(%s,%s,%s)" % (fields[1], fields[2], fields[3])
如果您使用的是类似unix的系统,您可能需要考虑使用sed或awk来执行相同的内容。
答案 3 :(得分:0)
for line in text
s = line.split(',')
print("({0},{1},{2})".format(s[1], s[2], s[3]))