首页 > 解决方案 > 如何在通过python3读取一行csv文件时删除前一行

问题描述

我想从这个 wiki 类别中清理 12,000 个 wiki 页面。为此,我将所有 12,000 个维基页面保存在一个 csv 文件中。当我的代码运行时,它会一一修改页面。如何在通过 python3 读取 CSV 文件的(下)行时删除前一行?如果可能的话,很容易将 csv 文件的剩余行分享给另一个 wiki 贡献者。否则,我应该手动打开 csv 文件以删除“已完成的行”。

我的代码简化了;-

import csv
import pywikibot

with open('0.csv', 'r') as csvfile:
    reader = csv.reader(csvfile,delimiter="~")
    for row in reader:
    #if len(row) == 8:
        wikiPage1 = row[0]
        indexPages = row[5]
        print (wikiPage1)

        site = pywikibot.Site('ta', 'wiktionary')
        page1 = pywikibot.Page(site, wikiPage1)

        page1.text = page1.text.replace('Number','எண்')
        page1.save(summary=''Number --> எண்') 

标签: python-3.xcsvpywikibot

解决方案


我从这个网站的两个网页page-1page-2中了解到。

下面的代码做这个目标; -

#-*- coding: utf-8 -*-

#bringing the needed library modules
import csv, time, subprocess

#subprocess.call("sed -i `` 1d 0-123.csv",shell=True)

WAIT_TIME = 10
with open('0-123.csv', 'r') as csvfile:
    reader = csv.reader(csvfile,delimiter="~")
    for row in reader:
#removing the first line of the csv        
        subprocess.call("sed -i `` 1d 0-123.csv",shell=True)
        wiktHeader1 = row[0]#.decode('utf-8')
        print ()
        print (wiktHeader1 + ' = படி-1: விக்சனரியின் தலைப்புச்சொல்.')
        time.sleep(WAIT_TIME)

推荐阅读