这种格式怎么解,有木有现成的库?

2016-05-30 11:06:59 +08:00
 ideaplat
Map(2000ZY -> , 602001 -> 31, 202002 -> , 20200I -> 302000, 20200D -> 302000, 602008 -> 0, 20200E -> 16, 202006 -> , 20200j -> 20200j, 20200m -> , 602002 -> 0, 20200a -> , 20200J -> 302000, 20200F -> 302001, 20200n -> 302000, 202007 -> 202007, 202001 -> 202001, 20200l -> 20200l, 602007 -> 0, 202004 -> , 602003 -> 0, 202008 -> , 20200o -> 302000, 2000ZX -> , 20200G -> 0, 20200k -> , 2000ZZ -> , 602004 -> 302000, 202009 -> 202009, 202003 -> 202003, 202005 -> 202005, 20200H -> 302000)
3274 次点击
所在节点    Python
8 条回复
CSDreamer
2016-05-30 11:26:57 +08:00
Scala 风格的 Map 写法
ideaplat
2016-05-30 11:31:02 +08:00
用 python 怎么解呢,
yangtukun1412
2016-05-30 11:40:01 +08:00
dict(re.findall(r'(\w+)\s*\-\>\s*(\w*)', raw))
deangl
2016-05-30 11:44:33 +08:00
dict([v.split(' -> ') for v in raw.split(',')])
ideaplat
2016-05-30 12:39:56 +08:00
如何将该格式存成 csv ?
yangtukun1412
2016-05-30 13:11:29 +08:00
ideaplat
2016-05-30 14:07:51 +08:00
import csv
import json

fieldnames = ['rq',' 2000ZZ', ' 2000ZX', ' 202007', ' 202006', ' 202005', ' 202004', ' 202003', ' 202002', ' 202001', ' 202009', ' 202008', ' 20200G', ' 20200F', ' 20200E', ' 20200D', 'Map(2000ZY', ' 20200J', ' 20200I', ' 20200H', ' 602008', ' 602003', ' 602002', ' 602001', ' 602007', ' 602004', ' 20200a', ' 20200o', ' 20200n', ' 20200m', ' 20200l', ' 20200k', ' 20200j']

csv_file = open('0007A8A74A3A.csv', 'wb')
writer = csv.DictWriter(csv_file,fieldnames=fieldnames)

writer.writeheader()

with open("0007A8A74A3A.tsv") as tsv:
for line in csv.reader(tsv, dialect="excel-tab"):

res = dict([v.split(' -> ') for v in line[5].split(',')])

rq = {'rq':line[1]}
res.update(rq)
writer.writerow(res)
JamesRuan
2016-05-30 17:39:53 +08:00
这种都是练手级别的习题啊,直接拿来当面试题就好了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/282165

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX