问题列表 - 第32498页

从Python中的大文件中删除重复的行

我有一个csv文件,我想删除重复的行,但它太大,无法放入内存.我找到了一种方法来完成它,但我的猜测是,这不是最好的方法.

每行包含15个字段和数百个字符,并且需要所有字段来确定唯一性.我没有比较整行来找到重复,而是hash(row-as-a-string)在试图节省内存.我设置了一个过滤器,将数据划分为大致相等数量的行(例如,一周中的几天),并且每个分区都足够小,以使该分区的散列值查找表适合内存.我为每个分区传递一次文件,检查唯一的行并将它们写入第二个文件(伪代码):

import csv

headers={'DayOfWeek':None, 'a':None, 'b':None}
outs=csv.DictWriter(open('c:\dedupedFile.csv','wb')
days=['Mon','Tue','Wed','Thu','Fri','Sat','Sun']

outs.writerows(headers)

for day in days:
    htable={}
    ins=csv.DictReader(open('c:\bigfile.csv','rb'),headers)
    for line in ins:
        hvalue=hash(reduce(lambda x,y:x+y,line.itervalues()))
        if line['DayOfWeek']==day:
            if hvalue in htable:
                pass
            else:
                htable[hvalue]=None
                outs.writerow(line)
Run Code Online (Sandbox Code Playgroud)

我想加快速度的一种方法是找到一个更好的过滤器来减少必要的通过次数.假设行的长度均匀分布,可能代替

for day in days: 
Run Code Online (Sandbox Code Playgroud)

if line['DayOfWeek']==day:
Run Code Online (Sandbox Code Playgroud)

我们有

for i in range(n):
Run Code Online (Sandbox Code Playgroud)

if len(reduce(lambda x,y:x+y,line.itervalues())%n)==i:
Run Code Online (Sandbox Code Playgroud)

其中'n'和内存一样小.但这仍然使用相同的方法.

Wayne Werner在下面提供了一个很好的实用解决方案; 我很好奇是否有更好/更快/更简单的方法从算法的角度来做这件事.

PS我只限于Python 2.5.

python duplicates

9
推荐指数
2
解决办法
8038
查看次数

当我提供ASP.NET页面时,我可以并行渲染页面上的各种控件吗?

当我提供ASP.NET页面时,我可以并行渲染页面上的各种控件吗?

我在页面上有一些Telerik控件(RadGrids),当我逐步浏览正在加载的页面时,似乎控件是数据绑定并连续呈现.也许这种行为是因为我迷上了调试器.

无论如何加载页面并在单独的线程上构建选择控件?这在概念上是否可行,还是必须按顺序完成?

asp.net multithreading rendering

7
推荐指数
1
解决办法
639
查看次数

WPF WindowStartupLocation ="CenterOwner"并不是真正的中心,并且全都弹出,为什么?

那么这个问题和这个问题是相似的,但没有答案可行.事实上,我希望WindowStartupLocation = CenterOwner可以工作......但事实并非如此.它似乎将新窗口置于网格列的中心,而不是主窗口的中心.所以我假设它认为那是父母.第二,当我关闭对话框并再次打开它时,它不会居中,而是从前一个位置向下移动.如果我将主窗口移动到第二个监视器,弹出窗口仍会在默认监视器上打开.这些属性是错误的还是我认为它应该以不同的方式工作.我想我可以手动计算Top和Left属性.我只是希望弹出窗口在主窗口中居中,无论它在哪里.

wpf

51
推荐指数
2
解决办法
3万
查看次数

Java泛型代码使用javac编译,Eclipse Helios失败

我有以下测试类,它使用泛型来重载方法.它在使用javac编译时有效,无法在Eclipse Helios中编译.我的java版本是1.6.0_21.

我读到的所有文章都表明Eclipse是对的,这段代码不适用.但是,使用javac和run编译时,会选择正确的方法.

这怎么可能?

谢谢!

import java.util.ArrayList;

public class Test {
    public static void main (String [] args) {
        Test t = new Test();
        ArrayList<String> ss = new ArrayList<String>();
        ss.add("hello");
        ss.add("world");
        ArrayList<Integer> is = new ArrayList<Integer>();
        is.add(1);
        is.add(2);
        System.out.println(t.getFirst(ss));
        System.out.println(t.getFirst(is));
    }   
    public String getFirst (ArrayList<String> ss) {
        return ss.get(0);
    }
    public Integer getFirst (ArrayList<Integer> ss) {
        return ss.get(0);
    }
}
Run Code Online (Sandbox Code Playgroud)

java eclipse generics javac

9
推荐指数
2
解决办法
2632
查看次数

iPhone网络应用程序,不存储cookie

我正在为iOS的网络应用程序工作.当应用程序打开时,它会检查用户是否有一个存储有用户电子邮件的cookie,然后让用户进入主页,或者将用户重定向到身份验证页面.

这在使用safari时非常有效.我遇到的问题仅在应用程序存储在主屏幕上时才会发生.似乎主屏幕Web应用程序在用户退出应用程序时删除了cookie.

任何强迫应用程序存储该cookie的建议都会非常感激.

谢谢,彼得

php iphone cookies session

9
推荐指数
2
解决办法
7941
查看次数

IE8中的不透明度适用于<p>但不适用于<a>

我有IE8的问题,我不能使<a>元素透明.我发现了这些相关的SO问题,但我没有运气,因为那里提供的答案:

我试过通过使用" 给布局 " zoom: 1;,但它没有帮助.这是我的测试CSS,取自此页面上的示例:

.test {
  background-color: #6374AB;
  width: 100%;
  color: #ffffff;
  zoom: 1;
}
.opaque1 {
  opacity: .5;
}
.opaque2 {
  filter: alpha(opacity=50);
}
.opaque3 {
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
}
.opaque4 {
  -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
  filter: alpha(opacity=50);
}
Run Code Online (Sandbox Code Playgroud)

并测试HTML:

<p class="test">Test paragraph without opacity.</p>
<p class="test opaque1">Test paragraph with <code>opacity</code></p>
<p class="test opaque2">Test paragraph with <code>filter</code></p>
<p class="test opaque3">Test paragraph with <code>-ms-filter</code></p>
<p class="test opaque4">Test paragraph with compatibility note</p>

<p>
  <a class="test" href="#">Test …
Run Code Online (Sandbox Code Playgroud)

css opacity internet-explorer-8

4
推荐指数
1
解决办法
3206
查看次数

Android ListView跳转到光标位置

我有一个由标准BaseAdapter控制的ListView.

当用户单击按钮时,我希望ListView滚动查看第100条记录.

怎么做的?

android listview

3
推荐指数
1
解决办法
2623
查看次数

如何在Visual Studio中删除intellisense建议?

我最近在Firefox中有一个错误,因为我选择了错误的脚本类型和intellisense.

<script type="text/jscript">
Run Code Online (Sandbox Code Playgroud)

VS

<script type="text/javascript">
Run Code Online (Sandbox Code Playgroud)

是否有可能从intellisense中删除选项?

编辑:我仍然希望语句完成,只是不是所有选项.

intellisense visual-studio

5
推荐指数
1
解决办法
1098
查看次数

如何防止广告拦截器阻止应用上的广告

我的一个用户让猫从袋子里拿出来告诉我他们正在使用我的一个免费应用程序,这个应用程序通过广告货币化,但是他们用广告拦截器阻止了广告.他们嘲笑地告诉我,好像我无能为力.

我能为此做些什么吗?有没有办法检测广告被阻止?

android ads adblock

58
推荐指数
4
解决办法
3万
查看次数

在xslt中插入空格

嗨我正在使用xslt来显示我的webpart上的链接,我在链接旁边添加了加号图片.但我想在它们之间添加一些空格.我添加了,但这不是真的有效.我错过了什么吗?请在下面找到我的代码.

谢谢.

    <xsl:choose>
        <!-- do _self -->
        <xsl:when test="contains(Link,'xxx')">
          <a target="_self">
            <xsl:attribute name="href">
                <xsl:value-of select="URL"/>
            </xsl:attribute>
                <xsl:value-of select="Title"/>
          </a>
        </xsl:when>
        <!-- use _blank (new browser window) -->
    <xsl:otherwise>
        <a target="_blank">
         <xsl:attribute name="href">
            <xsl:value-of select="URL"/>
         </xsl:attribute>
            <xsl:value-of select="Title"/>
        </a> 
   </xsl:otherwise>
   </xsl:choose>
   <xsl:text> </xsl:text>
   <xsl:choose>
       <xsl:when test="Description !=' ' ">
          <img class="imageclass" src="/images/plus.gif"></img>
        </xsl:when> 
   </xsl:choose>
Run Code Online (Sandbox Code Playgroud)

xslt

7
推荐指数
2
解决办法
2万
查看次数