首先我要说的是,能够从平面文件中获取1700万条记录,推送到远程盒子上的数据库并花费7分钟是令人惊讶的.SSIS真的太棒了.但是现在我有那些数据,如何删除重复数据?
更好的是,我想获取平面文件,从平面文件中删除重复项并将它们放回另一个平面文件中.
我在考虑:
Data Flow Task
亲爱的,这个网站上的每个人都非常了解.
Update: 我找到了这个链接,可能有助于回答这个问题
sql-server ssis duplicates duplicate-removal business-intelligence
我有一个填充了规范化地址的客户数据库.有重复.
每个用户都创建了自己的记录,并输入了自己的地址.因此,我们在用户和地址之间建立了一对一的关系:
CREATE TABLE `users` (
`UserID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`Name` VARCHAR(63),
`Email` VARCHAR(63),
`AddressID` INT UNSIGNED,
PRIMARY KEY (`UserID`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE `addresses` (
`AddressID` INT UNSIGNED NOT NULL AUTO_INCREMENT,
`Duplicate` VARCHAR(1),
`Address1` VARCHAR(63) DEFAULT NULL,
`Address2` VARCHAR(63) DEFAULT NULL,
`City` VARCHAR(63) DEFAULT NULL,
`State` VARCHAR(2) DEFAULT NULL,
`ZIP` VARCHAR(10) DEFAULT NULL,
PRIMARY KEY (`AddressID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)
而数据:
INSERT INTO `users` VALUES
(1, 'Michael', 'michael@email.com', 1),
(2, 'Steve', 'steve@email.com', 2), …Run Code Online (Sandbox Code Playgroud) 我正在寻找一种方法从Python列表中删除重复的条目,但有一个扭曲; 最终列表必须区分大小写,并且首选大写单词.
例如,我cup和之间Cup只需要保持Cup而不是cup.与其他建议lower()首先使用的常见解决方案不同,我更喜欢在这里维护字符串的情况,特别是我更喜欢将大写字母保留在小写的字母上.
我再次尝试将此列表转为:
[Hello, hello, world, world, poland, Poland]
进入这个:
[Hello, world, Poland]
我该怎么办?
提前致谢.
从列表中删除重复值的最佳算法是什么?我试过这个:
for (int i = 0; i < AuthorCounter-1; i++)
{
for (int j = 0; j < AuthorCounter-1; j++)
{
if (i != j)
{
if (AuthorGroupNode.Nodes[i].Text == AuthorGroupNode.Nodes[j].Text)
{
AuthorGroupNode.Nodes[j].Remove();
AuthorCounter--;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这AuthorGroupNodes是节点上的列表.它在某种程度上做得对,但并不完美.谁有更好的解决方案???
我有责任将代码从sqlite切换到postgres.我遇到问题的其中一个查询将在下面复制.
INSERT INTO group_phones(group_id, phone_name)
SELECT g.id, p.name
FROM phones AS p, groups as g
WHERE g.id IN ($add_groups) AND p.name IN ($phones);
Run Code Online (Sandbox Code Playgroud)
当存在重复记录时会出现问题.在此表中,两个值的组合必须是唯一的.我在其他地方使用了一些plpgsql函数来执行更新或插入操作,但在这种情况下,我可以一次执行多个插入操作.我不知道如何为此编写存储例程.感谢所有sql大师的帮助!
关键问题:使用setattr更改级别名称,保留不需要的重复项.
我正在清理一些数据,其中我有sevearl因子水平,所有这些都是相同的,显示为两个或更多不同的水平.(此错误主要是由于拼写错误和文件编码问题)我有153K因素,需要更正5%.
例
在以下示例中,向量具有三个级别,其中两个级别需要折叠为一个级别.
incorrect <- factor(c("AOB", "QTX", "A_B")) # this is how the data were entered
correct <- factor(c("AOB", "QTX", "AOB")) # this is how the data *should* be
> incorrect
[1] AOB QTX A_B
Levels: A_B AOB QTX <~~ Note that "A_B" should be "AOB"
> correct
[1] AOB QTX AOB
Levels: AOB QTX
Run Code Online (Sandbox Code Playgroud)
向量是a的一部分data.table.
使用该levels<-功能更改级别名称时,一切正常.
但是,如果使用setattr,则会保留不需要的重复项.
mydt1 <- data.table(id=1:3, incorrect, key="id")
mydt2 <- data.table(id=1:3, incorrect, key="id")
# assigning levels, …Run Code Online (Sandbox Code Playgroud) 我有PHP数组,我有从这个数组中删除一些元素的问题.它看起来像这样:
Array
(
[0] => 2x 633130A
[1] => 2x 525130B
[2] => 2x 591130B
[3] => 2x 963130B
[4] => 2x 813130B (20mm)
[5] => 2x 813130B
[6] => 2x 313130B (12mm)
[7] => 2x 313130B
[8] => 4x 413130B
[9] => 2x 633130B
[12] => 2x 381130A (23mm)
[13] => 2x 381130A
)
Run Code Online (Sandbox Code Playgroud)
现在我想删除没有mm参数的重复元素,如下所示:
FROM =====> TO
Array Array
( (
[0] => 2x 633130A [0] => 2x 633130A
[1] => 2x 525130B [1] => 2x …Run Code Online (Sandbox Code Playgroud) 在13年中收集了大约600GB的照片-现在存储在freebsd zfs / server中。
照片来自家庭计算机,从几个部分备份到不同的外部USB HDD,从磁盘灾难中重建的图像,从不同的照片处理软件(iPhoto,Picassa,HP和许多其他软件:())在多个深层子目录中-不久= TERRIBLE MESS包含许多重复。
因此,我首先要做的是:
这很有帮助,但是这里仍然有很多重复项:
现在的问题:
更复杂
我可以使复杂的脚本是BASH和“ +-” :)知道perl。。可以直接在服务器上使用FreeBSD / Linux实用程序,并且可以通过网络使用OS X(但是通过LAN使用600GB并不是最快的方法)...
我的粗略想法:
use Image::ExifTool 脚本,用于根据图像创建日期和相机型号(可能也是其他exif数据)收集重复的图像数据。任何想法,帮助,任何(软件/算法)提示如何使混乱局面?
附:
这几乎是一个相同的问题:查找重复的图像文件,但答案(md5)已经完成。并寻找更精确的校验和和图像比较算法。
我有以下数据框,称之为df,这是一个由三个向量组成的数据框:"Name","Age"和"ZipCode".
df=
Name Age ZipCode
1 Joe 16 60559
2 Jim 20 60637
3 Bob 64 94127
4 Joe 23 94122
5 Bob 45 25462
Run Code Online (Sandbox Code Playgroud)
我希望删除整个行,df如果Name它在整个数据框中出现少于2次(并且灵活地为3倍,4倍或x倍).基本上保持Bob与Joe在数据帧,但删除Jim.我怎样才能做到这一点?
我试着把它变成一张桌子:
> table(df$Name)
Bob Jim Joe
2 1 2
Run Code Online (Sandbox Code Playgroud)
但我不知道从那里去哪里.
我有一个ArrayList,它包含一个类的元素Event.Event有两个属性,Name和Timestamp.该列表现在显示所有事件.我想删除具有相同名称但不同时间戳的重复项,并将它们放在另一个列表中.这样,用户可以单击具有该名称的事件,然后选择日期.
我已经在我的应用程序中覆盖了函数equals(比较名称和时间戳)以及其他一些功能.
我怎么解决这个问题?
duplicates ×2
list ×2
php ×2
r ×2
sql ×2
algorithm ×1
arraylist ×1
arrays ×1
bash ×1
c# ×1
data.table ×1
dataframe ×1
delete-row ×1
image ×1
java ×1
mysql ×1
perl ×1
plpgsql ×1
postgresql ×1
python ×1
sql-server ×1
ssis ×1