【问题标题】:Reading CSV and returning array读取 CSV 并返回数组
【发布时间】:2018-01-22 07:41:27
【问题描述】:

参加视频游戏设计课程,我以前从未使用过 python,所以我很困惑......我的任务是:

将 CSV 文件读入 Python 并将其内容存储为列表列表 (或二维列表/数组)。为此,您将使用 CSV[1] 库。 CSV 文件的读取应该作为它自己的函数来完成 - 请创建一个名为 readCSV(...) 的函数 它将文件名作为参数并返回 2D 列表。

如前所述,我以前没有使用 python 的编码经验。到目前为止,我已经成功地做到了这一点,并且非常感谢一些支持。

import csv

# reading each row and printing it 
def readCSV(fileName): 
    TwoDimList = []
    with open(fileName, 'r') as f:
        r = csv.reader(f, delimiter=',')
        for row in r:


entities = readCSV('entities.csv')              
print(entities)

【问题讨论】:

    标签: python arrays csv


    【解决方案1】:

    只需将每一行(即列值列表)附加到您的二维列表并在最后返回:

    def readCSV(fileName): 
        two_dim_list = []  # snake case ftw (PEP8)
        with open(fileName, 'r') as f:
            r = csv.reader(f, delimiter=',')
            # next(r)  # skip header line if necessary
            for row in r:
                two_dim_list.append(row)
        return two_dim_list
    

    简短的版本是:

    def readCSV(fileName): 
        with open(fileName, 'r') as f:
            r = csv.reader(f, delimiter=',')
            # next(r)  # skip header line
            return list(r)
    

    【讨论】:

      【解决方案2】:

      您只需拨打阅读器上的list 即可获取完整的二维列表:

      def read_csv(file_name):
          with open(file_name) as f:
              return list(csv.reader(f))
      

      这是因为csv.reader is an iterable

      【讨论】:

        【解决方案3】:

        定义一个读取csv和返回列表的函数,稍后在程序中使用

        def readCSVinList(fpath,fname):      
                with open(fpath+fname) as csv_file:        
                       csv_reader=csv.reader(csv_file)        
                 return list(csv_reader)  
        f= readCSVinList("A:\\Test\\","test.csv")  
        for row in f:  
            print(row)
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-04-07
          • 1970-01-01
          • 2015-07-16
          • 2018-05-08
          • 2017-03-26
          • 1970-01-01
          • 2021-12-23
          • 1970-01-01
          相关资源
          最近更新 更多