使用python自动增加wikitable

时间:2016-11-02 18:37:59

标签: python mediawiki wikipedia

我有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)

1 个答案:

答案 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)