我有wikitable格式的mediawiki用户统计信息,这是由sql查询生成的。
现在我想将第一列和每一行中存在的所有#
替换为自动递增数字,即使用python脚本从第一行开始的1,2,3,4。
知道如何完成这项任务吗?
wikitable格式的数据:
matter = """{| class="wikitable"
!number!!user_id!!user_name!!byte_count!!edit_count
|-
|#||19745||[[user:abc|abc]]||37294210.0||83282
|-
|#||21818||[[user:abc|abc]]||3420248.0||121794
|-
|#||21548||[[user:abc|abc]]||2515274.0||32799
|}"""
with open("wikit.txt", 'w') as f:
f.write(matter)
with open('wikit.txt', 'r') as f:
m = f.read()
print(m)
答案 0 :(得分:0)
尚未测试,但它应该适合你
with open('wikit.txt', 'r') as f:
lines = f.readlines()
newlines =[]
line_num=1
for line in lines:
newlines.append(line.replace("#",str(line_num)))
if "#" in line:
line_num+=1
newlines_str='\n'.join(line for line in newlines)
with open("wikit.txt", 'w') as f:
f.write(newlines_str)