Python:如何将csv数据转换为数组
我正在尝试将csv文件转换为数组 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
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']]]
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