小编drb*_*sen的帖子

从csv文件创建字典?

我正在尝试从csv文件创建一个字典.csv文件的第一列包含唯一键,第二列包含值.csv文件的每一行代表字典中唯一的键值对.我试图使用csv.DictReadercsv.DictWriter类,但我只能弄清楚如何为每一行生成一个新的字典.我想要一本字典.这是我尝试使用的代码:

import csv

with open('coors.csv', mode='r') as infile:
    reader = csv.reader(infile)
    with open('coors_new.csv', mode='w') as outfile:
    writer = csv.writer(outfile)
    for rows in reader:
        k = rows[0]
        v = rows[1]
        mydict = {k:v for k, v in rows}
    print(mydict)
Run Code Online (Sandbox Code Playgroud)

当我运行上面的代码时,我得到了一个ValueError: too many values to unpack (expected 2).如何从csv文件创建一个字典?谢谢.

python csv dictionary list-comprehension

125
推荐指数
10
解决办法
32万
查看次数

如何让virtualenv与鱼壳一起工作

我想让virtualenv与鱼壳一起工作.我安装了virtualenv,它可以正常使用bash和zsh.但是,运行以下命令将返回fish: Unknown command 'source':

$ source ~/path/to/bin/activate
Run Code Online (Sandbox Code Playgroud)

有谁知道如何让virtualenv和鱼壳一起工作.提前致谢.

virtualenv fish

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

UNIX使用指数值排序?

我有一个包含7个数据字段的csv文件.我想以反向数字顺序对第7个字段进行排序(最小值为第一个).第7个数据字段如下所示:

0.498469643137
1
6.98112003175e-10
9.11278069581e-06
Run Code Online (Sandbox Code Playgroud)

我试过使用像这样的UNIX排序工具:

$ sort -t"," -n -k -r 7 <my_file>
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是排序不能识别指数形式.例如,sort think 6.98112003175e-10大于1.如何使用sort对csv列进行排序,但是能够识别科学记数法?在此先感谢您的帮助.

unix csv sorting exponent

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

如何在python中找到范围重叠?

Python中确定两个范围中哪些值重叠的最佳方法是什么?

例如:

x = range(1,10)
y = range(8,20)

(The answer I am looking for would be the integers 8 and 9.)
Run Code Online (Sandbox Code Playgroud)

给定一个范围,x,迭代另一个范围的最佳方法是什么,y并输出两个范围共享的所有值?在此先感谢您的帮助.

编辑:

作为后续行动,我意识到我还需要知道x是否与y重叠.我正在寻找一种迭代范围列表的方法,并做一些重叠范围的额外事情.是否有一个简单的True/False语句来实现这一目标?

python range

32
推荐指数
8
解决办法
4万
查看次数

什么是将CSV文件数据作为命名元组行读取的pythonic方法?

获取包含标题行的数据文件并将此行读入命名元组的最佳方法是什么,以便可以通过标题名称访问数据行?

我正在尝试这样的事情:

import csv
from collections import namedtuple

with open('data_file.txt', mode="r") as infile:
    reader = csv.reader(infile)
    Data = namedtuple("Data", ", ".join(i for i in reader[0]))
    next(reader)
    for row in reader:
        data = Data(*row)
Run Code Online (Sandbox Code Playgroud)

reader对象不是可订阅的,所以上面的代码抛出了一个TypeError.将文件头读入namedtuple的pythonic方法是什么?

python csv namedtuple

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

帮助相对路径链接到本地​​文件

这是一个非常基本的HTML问题,但我似乎找不到答案.

我在这里有一个本地文件:

/Users/Me/Desktop/Main/June/foo.txt
Run Code Online (Sandbox Code Playgroud)

在位于/ Main目录中的.html文档中,我可以foo.txt使用完整路径链接到该文件:

<a href="file:///Users/Me/Desktop/Main/June/foo.txt">Full Path Link</a>
Run Code Online (Sandbox Code Playgroud)

我想使用相对路径链接到foo.txt.有谁知道如何创建这个foo.txt文件的相对路径链接?

我尝试了下面的代码和一些类似的排列,但我似乎无法成功编写此本地文件的相对路径链接.

<a href="file:///../June/foo.txt">Relative path Link</a>
Run Code Online (Sandbox Code Playgroud)

提前致谢.任何帮助表示赞赏.

html html5

24
推荐指数
1
解决办法
8万
查看次数

如何在Python中压缩两个列表列表?

我有两个列表,列表具有相同数量的项目.这两个列表如下所示:

L1 = [[1, 2], [3, 4], [5, 6]]

L2 =[[a, b], [c, d], [e, f]]
Run Code Online (Sandbox Code Playgroud)

我想创建一个看起来像这样的列表:

Lmerge = [[1, 2, a, b], [3, 4, c, d], [5, 6, e, f]]
Run Code Online (Sandbox Code Playgroud)

我试图使用zip()这样的东西:

for list1, list2 in zip(*L1, *L2):
    Lmerge = [list1, list2]
Run Code Online (Sandbox Code Playgroud)

组合两个列表列表的最佳方法是什么?提前致谢.

python merge zip nested list

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

获取不以字符开头的所有字符串的最简单方法是什么?

我试图从文本文件中解析大约2000万行,并且正在寻找一种方法来对不以问号开头的行进行进一步的操作.我想要一个不使用正则表达式匹配的解决方案.我想做的是这样的事情:

for line in x:
    header = line.startswith('?')
if line.startswith() != header:
        DO SOME STUFF HERE
Run Code Online (Sandbox Code Playgroud)

我意识到这个startswith方法有一个参数,但有没有任何简单的解决方案可以从不以问号开头的行中获取所有行?在此先感谢您的帮助.

python string startswith

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

如何在Python中实现R的p.adjust

我有一个p值列表,我想计算fDR的多重比较的调整p值.在R中,我可以使用:

pval <- read.csv("my_file.txt",header=F,sep="\t")
pval <- pval[,1]
FDR <- p.adjust(pval, method= "BH")
print(length(pval[FDR<0.1]))
write.table(cbind(pval, FDR),"pval_FDR.txt",row.names=F,sep="\t",quote=F )
Run Code Online (Sandbox Code Playgroud)

如何在Python中实现此代码?以下是我在Google的帮助下在Python中的可行尝试:

pvalue_list [2.26717873145e-10, 1.36209234286e-11 , 0.684342083821...] # my pvalues
pvalue_lst = [v.r['p.value'] for v in pvalue_list]
p_adjust = R.r['p.adjust'](R.FloatVector(pvalue_lst),method='BH')
for v in p_adjust:
    print v
Run Code Online (Sandbox Code Playgroud)

上面的代码抛出了一个AttributeError: 'float' object has no attribute 'r'错误.任何人都可以帮助指出我的问题吗?在此先感谢您的帮助!

python statistics r rpy2

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

如何用ggplot生成非标准的情节类型?

我想用ggplot制作一个看起来非常接近这个(在这里找到)的情节:

在此输入图像描述

但是,我想绘制条件的范围,而不是频率.这是我想用5个条件生成的情节草图:

在此输入图像描述

我的数据被安排为范围的起点和终点坐标.例如,对于条件5,范围的开始是30并且范围的结束是40(为了清楚起见,我在图中标记了这一点).我的数据来自以下形式的文件:

id      start   end
1       20      35
2       60      75    
3       10      30
4       80      90
5       30      40
Run Code Online (Sandbox Code Playgroud)

我有大约100个开始和结束值,我想以这种方式在一个图上绘制.最终的情节应该只有两种颜色.

更新:

为了将来参考,Justin的解决方案产生了这样的:

在此输入图像描述

r ggplot2

15
推荐指数
1
解决办法
841
查看次数