删除.csv中的所有行,但首先删除列中具有重复单元格的行

时间:2018-11-03 12:35:37

标签: python python-3.x pandas

由于某些正则表达式错误,我在.csv文件中有许多行相同但格式略有不同的行,因此URL始终是公共变量。我需要在“ tx”列中找到所有重复的网址,并删除除第一个以外的所有其他网址。

.csv是约5万行。系统是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 :(得分:2)

char c1; char c2; boolean correctInput = false; while (!correctInput) { System.out.println("Enter t or f"); c1 = (char) System.in.read(); c2 = (char) System.in.read(); if ((c1 == 't' || c1 == 'f') && (c2 == 't' || c2 == 'f')) { correctInput = true; } } //Rest of your code... 中的默认分隔符为read_csv,因此对于制表符是必需的,请添加,,对于就地操作,还应返回sep='\t',因此可能有两种解决方案将其删除或不分配回来:

None

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

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