Python 2.7 - 如何从转置的csv文件中调用单个列

时间:2016-11-20 17:49:19

标签: python-2.7

我知道csv模块存在,但是对于我当前的项目,我们不允许使用该模块来调用csv文件。

我的代码如下;

table = []
for line in open("data.csv"):
 data = line.split(",")
 table.append(data)
 transposed = [[table[j][i] for j in range(len(table))] for i in range(len(table[0]))]
rows = transposed[1][1:]
rows = [float(i) for i in rows]

我对python真的很陌生,所以这可能是一个非常基本的问题,我整天都在搜索互联网并努力寻找解决方案。我需要做的就是能够从任何单个列调用数据,以便我可以分析它。感谢

1 个答案:

答案 0 :(得分:0)

您的数据按列表列表进行组织。每个子列表代表一行。为了更好地说明这一点,我会避免使用列表推导,因为它们更难以阅读。另外,我会避免使用像'i'和'j'这样的变量,而是使用更多描述性名称,如行或列。这是一个如何实现这个

的简单示例
def read_csv():
    table = []
    with open("data.csv") as fileobj:
        for line in fileobj.readlines():
            data = line.strip().split(',')
            table.append(data)
    return table

def get_column_data(data, column_index):
    column_data = []
    for row in data:
        cell_data = row[column_index]
        column_data.append(cell_data)
    return column_data


data = read_csv()
get_column_data(data, column_index=2) #example usage