返回csv文件的一列的Python代码不会返回任何数据

返回csv文件的一列的Python代码不会返回任何数据,python,csv,Python,Csv,我正在使用python和emacs从GALEX和SDSS组合数据的csv表中检索一列。当我在终端中运行代码时,它不会返回任何数据,也不会给出错误消息 当我运行代码时,我希望它打开并将结果保存在一个新文件中。如何让代码打印所需的数据列,然后将其保存在自己的新文件中 这是我现在的代码: Members是表,Dec是我选择的列的名称,该列位于标题左侧的索引2处。当我现在在第四行的索引位置使用整数时,返回了一条错误消息,这就是我将其保留为单词的原因 #!usr/bin/python def get_co

我正在使用python和emacs从GALEX和SDSS组合数据的csv表中检索一列。当我在终端中运行代码时,它不会返回任何数据,也不会给出错误消息

当我运行代码时,我希望它打开并将结果保存在一个新文件中。如何让代码打印所需的数据列,然后将其保存在自己的新文件中

这是我现在的代码: Members是表,Dec是我选择的列的名称,该列位于标题左侧的索引2处。当我现在在第四行的索引位置使用整数时,返回了一条错误消息,这就是我将其保留为单词的原因

#!usr/bin/python
def get_column(members,column_Dec):
    with open(members, 'r') as fid:
        header = fid.readline()
        column_2=header.split(',').index(column_Dec)
        column_data = []
        for line in fid:
            column_data.append(line.split(',')[column_2]) 
    return column_data
    print column_data
成员数据样本:

组RA Dec红移a b c d e 2293 215.197952 4.370193 0.02667 -18.116 0.739 0 0.950 1.71 2293 215.186829 4.257247 0.02722 -18.379 0.660 0 0.950 1.59
首先,您应该明确地考虑使用标准CSV模块来解析CSV数据。简单的拆分“,”无法处理有效的CSV数据,如john、smith、Anchorage、AK,这些数据应解释为三列,而不是四列。其次,您需要在返回之前打印。return停止函数的执行。这不可能是您的代码:fid.realine有输入错误。请始终准确复制和粘贴您的代码;否则人们不得不猜测你的真实代码是什么样子。@Chris上面的代码是stackoverflow上其他人向我建议的代码。我切换了return和print命令的顺序,得到了相同的结果。话虽如此,您是否建议我一起放弃这种方法,只使用标准模型?@DSM很抱歉输入错误。我纠正了它。我有问题从emacs复制并粘贴到论坛上,所以我手工打印出来。下次我会更加小心。@Mart.Astro,如果你在返回后打印,肯定不会被呼叫。不过,改变这两种方法的顺序并不能保证它会起作用。是的,我建议使用csv模块。它包含在标准库中,可以很好地处理CSV解析和编写。你如何调用你的函数?你能从你的成员文件中发布一个片段吗?