Удалите все строки в .csv, за исключением первого, в котором есть повторяющаяся ячейка в столбце. - PullRequest
0 голосов
/ 03 ноября 2018

Из-за некоторой ошибки регулярного выражения у меня в файле .csv много строк, которые одинаковы, но имеют немного другое форматирование, URL всегда является общей переменной. Мне нужно найти все дублированные URL-адреса в столбце "TX" и удалить все, кроме первого.

.csv - это ~ 50 тыс. Строк. Система Windows.

Что я пробовал:

# importing pandas package 
import pandas as pd 

# making data frame from csv file 
data = pd.read_csv("dupes.csv")


# dropping ALL duplicte values 
df = data.drop_duplicates(subset ="TxHash\tx", keep = "first", inplace = True) 

data.to_csv('nodupes.csv', index=False)

Все столбцы имеют / t в конце, не зная, как от них избавиться, также пробовали многочисленные варианты, включая установку новых заголовков с помощью Pandas. Перепробовал много решений, но большинство приводит к этой ошибке:

повысить KeyError (diff)
KeyError: Index (['TxHash \ t'], dtype = 'object')

1 Ответ

0 голосов
/ 03 ноября 2018

Разделитель по умолчанию в read_csv равен ,, поэтому для табуляции необходимо добавить sep='\t', а также для операции на месте возвращается None, поэтому возможно 2 решения: удалить его или не присвоить обратно:

data = pd.read_csv("dupes.csv", sep='\t')

df = data.drop_duplicates(subset ="TxHash")
print (df)

data.drop_duplicates(subset ="TxHash", inplace=True)
print (data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...