读取CSV并返回数组

时间:2018-01-22 07:41:27

标签: python arrays csv

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

将CSV文件读入Python并将其内容存储为列表列表 (或2D列表/数组)。为此,您将使用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)

3 个答案:

答案 0 :(得分:0)

您只需拨打阅读器上的Key-Value compliance / Undefined key即可获得完整的2d列表:

list

这是因为csv.reader is an iterable

答案 1 :(得分:0)

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

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xmlns:aop="http://www.springframework.org/schema/aop"
 xsi:schemaLocation="http://www.springframework.org/schema/aop 
 http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
 http://www.springframework.org/schema/beans 
 http://www.springframework.org/schema/beans/spring-beans.xsd">

简短版本是:

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

答案 2 :(得分:0)

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

userNum = input('enter a number: ')
try:
    num = int(userNum)
except:
    print("you didn't enter a number")
print(num)