【问题标题】:Python function to create an array of particular column of csv filePython函数创建csv文件特定列的数组
【发布时间】:2017-02-18 08:09:18
【问题描述】:

我需要编写一个函数,给定一个 CSV 文件名作为字符串和一个列号,它将在文件的特定列中创建一个具有不同值的数组。假设我的第一列是 0 就像在 Python 列表中一样。此文件还有页眉和页脚行。

import csv

def facet(file, column):
    """ (str, int) -> array
Gets a list of distinct values from the specified column in the input file.
"""

【问题讨论】:

  • 那么我的建议是开始写作。 Stack Overflow 不是代码编写服务。你试过什么?你看过内置的csv 模块吗?您对如何使用它有疑问吗?请具体。另外,当您说array 时,您是指Python list 吗?因为它们不是一回事。
  • 那么你的实际问题是什么?

标签: python arrays python-3.x csv


【解决方案1】:

尝试以下方法:

import csv

def facet(file, column):
    with open(file, newline='') as f_input:
        return [row[column] for row in csv.reader(f_input)][1:-1]

print(facet('input.csv', 1))

将文件读取为csv 并使用列表推导从每一行中仅选择单元格并构建一个列表。最后[1:-1 用于跳过文件中的页眉和页脚。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多