Как удалить следующую строку из csv, если первое значение повторяется - PullRequest
0 голосов
/ 17 июня 2020

Мой file.csv находится ниже

id,state,country
44,1,WD,India
5,WD,India
44,AL,Japan
390,AL,Japan
17,AL,Japan
17,SA,BEL

необходимо удалить вторую строку, первая запятая, отдельное значение повторяется здесь 44,17 повторяется

Ожидается

id,state,country
44,WD,India
5,WD,India
390,AL,Japan
17,AL,Japan
  • Подойдет любой метод python, bash shell

Ответы [ 2 ]

1 голос
/ 17 июня 2020

Предполагая, что вы хотите удалить любую строку, имеющую такое же значение в первом столбце, с любыми другими строками

, вы должны использовать для всех значений от l oop до l oop, и вы могли бы определить, был ли какой-либо дубликат, используя список

File = open(X.csv, r)
Data = File.readlines()
File.close()
List = []
for line in Data:
    line = line.split(",")
    if line[0] in List:
        print("This row isn't gonna be written to file")
    else:
        List.append(line)

File = open(X.csv, w)
for Y in List:
    File.write(List[Y][0] + "," + List[Y][1] + "," # and so on
File.close()
0 голосов
/ 17 июня 2020

Вы можете преобразовать его в фрейм данных, а затем сохранить обратно:

df = pd.read_csv('test.csv')
df.drop_duplicates(subset=['id'], inplace=True)
df.to_csv('test.csv')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...