«Ошибка ключа: месяц» при удалении столбца из csv

#python #csv

#python #csv

Вопрос:

Я хочу удалить столбец «месяц» из этого csv-файла с помощью python, и я получаю сообщение об ошибке «ошибка ключа: месяц»

 import csv

filename = "onedirectionsearch.csv"
with open(filename, 'r') as csvfile: 
    csvreader = csv.DictReader(csvfile) #creating a reader using DictReader
    
    with open("testwriter.csv", "w") as newfile:
        fieldnames = ["month", "harry styles: (Worldwide)", "zayn malik: (Worldwide)", "niall Horan: (Worldwide)", "liam payne: (Worldwide)", "louis tomlinson: (Worldwide)", "one direction: (Worldwide)"]
        #the above line is delcaring all the headings of the csv file
        csvwriter = csv.DictWriter(newfile, fieldnames=fieldnames)
        #csvwriter.writeheader()
    
    
        for line in csvreader:
            del line["month"]
            csvwriter.writerow(line)
 

Комментарии:

1. A print(list(line.keys())) в нужном месте покажет вам ключи, которые использовал DictReader.

2. Можете ли вы показать onedirectionsearch.csv образец содержимого?

Ответ №1:

Ну, поскольку это только первый элемент, который вы не хотите, вы могли бы сделать:

Старая таблица

 fieldnames = ["month", "harry styles: (Worldwide)", "zayn malik: (Worldwide)", "niall Horan: (Worldwide)", "liam payne: (Worldwide)", "louis tomlinson: (Worldwide)", "one direction: (Worldwide)"]


fieldnames

['month',
 'harry styles: (Worldwide)',
 'zayn malik: (Worldwide)',
 'niall Horan: (Worldwide)',
 'liam payne: (Worldwide)',
 'louis tomlinson: (Worldwide)',
 'one direction: (Worldwide)']
 

Новая таблица

 fieldnames.pop(0)

fieldnames

['harry styles: (Worldwide)',
 'zayn malik: (Worldwide)',
 'niall Horan: (Worldwide)',
 'liam payne: (Worldwide)',
 'louis tomlinson: (Worldwide)',
 'one direction: (Worldwide)']