我有两个制表符分隔的.csv文件。从一个.csv我创建了一本字典,它看起来像:
'EB2430': ' "\t"idnD "\t"yjgV "\t"b4267 "\n',
'EB3128': ' "\t"yagE "\t\t"b0268 "\n',
'EB3945': ' "\t"maeB "\t"ypfF "\t"b2463 "\n',
'EB3944': ' "\t"eutS "\t"ypfE "\t"b2462 "\n',
我想把这本词典的价值插入第二.csv文件如下所示:
^{pr2}$带分隔符的结果输出选项卡:
'EB2430' idnD yjgV b4267 36.81 364 222 4 72 430 101 461 1.00E-063 237
'EB3128' yagE b0268 26.04 169 108 6 42 206 17 172 6.00E-006 45.8
'EB3945' maeB ypfF b2463 20.6 233 162 6 106 333 33 247 6.00E-005 42.4
'EB3944' eutS ypfE b2462 19.07 367 284 6 1 355 1 366 2.00E-023 103
以下是我创建字典的代码:
f = open ("one.csv", "r")
g = open ("second.csv", "r")
eb = []
desc = []
di = {}
for line in f:
for row in f:
eb.append(row[1:7])
desc.append(row[7:])
di = dict(zip(eb,desc))
很抱歉这么长时间没说!!我编程时间不长。在
干杯!在
周六
这里似乎可以更有效地使用Python标准库csv模块。而不是自己“手动”执行文本处理部分。E、 g.:
with
语句是Python2.6中的一颗明珠(它也可以在2.5中使用,但前提是from __future__ import with_statement
!-)正如这里使用的,它提供了一个打开的文件,并确保在with
主体完成后立即关闭它。。。另外,它还有无数的用途,例如锁和各种自定义编码的“上下文管理器”。在我建议您不要手动解析CSV文件,而是使用内置的csv。它处理分隔符、字符转义等。它的API也很简单:
您可以将代码重构为一个函数,并将其用于两个文件(不过,从内存进行编码,请小心出错)。在
现在有两个dict分别对应两个文件,比如},可以将它们组合起来:
^{pr2}$dict1
和{将其写入.csv文件也很简单:
一定要查看docs以获得更详细的参考。在
编辑:我的解决方案没有考虑行顺序(dict是无序的)。有两种解决方案:
for
语句,并将标题存储在列表中。在查看csv模块:
相关问题 更多 >
编程相关推荐