Python:如何将csv数据转换为数组

Python:如何将csv数据转换为数组,python,arrays,Python,Arrays,我正在尝试将csv文件转换为数组 csv文件中的内容如下所示 11,10,8,12,13,11 0,1,0,2,3,0 5,15,13,11,18,18 我想把它变成数组,如下所示 [[[11], [10], [8], [12], [13], [11]], [[0], [1], [0], [2], [3], [0]], [[5], [15], [13], [11], [18], [18]]] 读取文件并从中获取项目列表: im

我正在尝试将csv文件转换为数组

csv文件中的内容如下所示

11,10,8,12,13,11
0,1,0,2,3,0
5,15,13,11,18,18

我想把它变成数组,如下所示

[[[11],
  [10],
  [8],
  [12],
  [13],
  [11]],

 [[0],
  [1],
  [0],
  [2],
  [3],
  [0]],

 [[5],
  [15],
  [13],
  [11],
  [18],
  [18]]]

读取文件并从中获取项目列表:

import csv

results = []

with open('some_array.csv','r') as f:
    lines = csv.reader(f)
    for line in lines:
        results.append([[int(i)] for i in line])

>>results
[[['11'], ['10'], ['8'], ['12'], ['13'], ['11']],
 [['0'], ['1'], ['0'], ['2'], ['3'], ['0']],
 [['5'], ['15'], ['13'], ['11'], ['18'], ['18']]]
  • 首先,可以将文件读入数组
  • 之后,可以使用map函数将每个字符串列表转换为整数列表
  • 解决方案:

    import csv
    with open('input.csv', 'rb') as f:
        reader = csv.reader(f)
        lines = [row for row in reader]
    
    array = [map(int,l) for l in lines]
    
    array
    [[11, 10, 8, 12, 13, 11], [0, 1, 0, 2, 3, 0], [5, 15, 13, 11, 18, 18]]
    
    测试结果与预期输出相符:

    desired = [ [[11],[10],[8],[12],[13],[11]], 
                [[0],[1],[0],[2],[3],[0]], 
                [[5],[15],[13],[11],[18],[18]] ]
    
    # print output == desired   # True
    

    嗨,欢迎来到SO!请发布您在获取结果时的尝试以及您的输入和预期输出。这有助于人们理解您的问题,并复制您的问题。如果是csv,请共享输入以帮助您。欢迎欢迎来到StackOverflow。请按照您创建此帐户时的建议,阅读并遵循帮助文档中的发布指南,在这里申请。StackOverflow不是设计、编码、研究或教程资源。然而,如果您遵循您在网上找到的任何资源,进行诚实的编码尝试,并遇到问题,您将有一个很好的示例发布。您可以使用和加载数据。但是你真的想得到一个数组吗?您将显示所需输出的列表。谢谢Bernard,但我遵循了您的代码,我只从每行中获取第一个数字。[['11']]、[['0']]、[[['5']]]我根据您更新的输入编辑了我的答案。以前的文件没有逗号分隔符。谢谢!!!它起作用了。由于我的文件中并非所有数据都是整数,所以我将int(I)改为float(I)谢谢!没问题!还要注意其他的注释,这些注释强调了您可能想要输出的内容的有效关注点。如果此处的任何答案有助于您记住将其作为答案进行检查(在“投票”按钮下),这将有助于关闭问题,并有助于关注新问题。:)
    desired = [ [[11],[10],[8],[12],[13],[11]], 
                [[0],[1],[0],[2],[3],[0]], 
                [[5],[15],[13],[11],[18],[18]] ]
    
    # print output == desired   # True