Python字符串和整数

时间:2012-08-01 18:24:29

标签: 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 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 个答案:

答案 0 :(得分:2)

row[1]不是文件的第二列。它只是当前行中的第二个字段,即第二列中的许多值中的一个。

row[1]是您的案例中的字符串。 Python中的字符串也是序列;您可以致电len(some_string)查找字符串的长度,在给定位置possome_string[pos]等处获取元素。