Python字符串和整数
我有一个.csv文件,其中包含以下数据:Python字符串和整数,python,python-2.7,Python,Python 2.7,我有一个.csv文件,其中包含以下数据: uc007ayl.1,ENSMUSG00000041439 uc009mkn.1,ENSMUSG00000031708 uc009mkn.1,ENSMUSG00000035491 我有一些代码可以逐列读取它们 import csv import os.path #open files + readlines with open("C:/Users/Ivan Wong/Desktop/Placement/Lists o
uc007ayl.1,ENSMUSG00000041439
uc009mkn.1,ENSMUSG00000031708
uc009mkn.1,ENSMUSG00000035491
我有一些代码可以逐列读取它们
import csv
import os.path
#open files + readlines
with open("C:/Users/Ivan Wong/Desktop/Placement/Lists of targets/Mouse/UCSC to Ensembl.csv", "r") as f:
reader = csv.reader(f, delimiter = ',')
#find files with the name in 1st row
for row in reader:
graph_filename = os.path.join("C:/Users/Ivan Wong/Desktop/Placement/Interesting reading/3'ORF",row[0]+"_nt_counts.txt.png")
if os.path.exists(graph_filename):
y = row[0]+'_nt_counts.txt'
r = open('C:/Users/Ivan Wong/Desktop/Placement/fp_mesc_nochx/'+y, 'r')
k = r.readlines()
r.close
del k[:1]
k = map(lambda s: s.strip(), k)
interger = map(int, k)
import iter
tools
#adding the numbers for every 3 rows
def grouper(n, iterable, fillvalue=None):
"grouper(3, 'ABCDEFG', 'x') --> ABC DEF Gxx"
args = [iter(iterable)] * n
return itertools.izip_longest(*args, fillvalue=fillvalue)
result = map(sum, grouper(3, interger, 0))
e = row[1]
现在我可以说
print row[1]
使其仅显示第二列。我需要这样做,因为我将在另一个文件中找到这些名称。但我有一个问题,因为我认为python以这种方式读取这些名称:
“E”、“N”、“S”、“M”、“U”、“S”等
这导致了一个问题,因为我无法从另一个文件夹中找到匹配的名称。有人知道问题出在哪里以及如何解决吗?
行[1]
不是文件的第二列。它只是当前行中的第二个字段,即第二列中许多值中的一个
行[1]
在您的案例中是一个字符串。Python中的字符串也是序列;您可以调用len(some_string)
查找字符串的长度,在给定位置获取元素pos
:some_string[pos]
,等等。为什么要告诉csv.reader
分隔符是,“
当您的文本文件中似乎没有任何逗号时?您的文件是用”
还是用“,”
?@DSM一个小错误,我说它是一个.txt文件,但实际上我将它转换为.csv,它们在第一和第二个之间有一个“,”column@ivanhoifung:我无法复制这个。您说的是打印行[1]
,但您的代码没有提到行
。你能编辑你的问题以包含你实际使用的代码吗?[顺便问一下,你的文件名中真的有两个星号吗?]@DSM对我来说有点太复杂了,我只是把所有的代码都放在上面,看看现在能不能用