在本例中,如何在Python中创建二维基于列表的数组

在本例中,如何在Python中创建二维基于列表的数组,python,list,csv,2d,Python,List,Csv,2d,我的任务是比较两个CSV文件,找出它们之间的差异。可能计算每列的平均值。现在,我正在尝试读取CSV文件,将数据转换为浮点值,并创建一个基于二维列表的数组,用于将来的列平均值计算。我被卡住了。 我有两个类似这样的CSV文件,它们相同但标题不同: 我写了这段代码: import csv skip = 0 my_list = [] #trying to convert to float def conv(s): try: s=float(s) except Valu

我的任务是比较两个CSV文件,找出它们之间的差异。可能计算每列的平均值。现在,我正在尝试读取CSV文件,将数据转换为浮点值,并创建一个基于二维列表的数组,用于将来的列平均值计算。我被卡住了。 我有两个类似这样的CSV文件,它们相同但标题不同:

我写了这段代码:

import csv

skip = 0
my_list = []

#trying to convert to float
def conv(s):
    try:
        s=float(s)
    except ValueError:
        pass    
    return s

with open('Illia1.csv', newline='') as data:    
    reader = csv.reader(data, delimiter=",")
    #Skip 8 rows with headers
    while skip < 8:
        next(reader, None)
        skip += 1
    #Reading rows and writing converted cells into the list
    for row in reader:
        for cell in row:
            y=conv(cell)
            my_list.append(y)
        print(my_list)
导入csv
跳过=0
我的清单=[]
#正在尝试转换为float
def conv(s):
尝试:
s=浮动(s)
除值错误外:
通过
返回s
以open('Illia1.csv',换行符='')作为数据:
reader=csv.reader(数据,分隔符=“,”)
#跳过带有标题的8行
当跳过<8时:
下一个(读卡器,无)
跳过+=1
#读取行并将转换的单元格写入列表
对于读取器中的行:
对于行中的单元格:
y=conv(单元)
我的列表。附加(y)
打印(我的列表)
我将输出数据转换为float类型,但如何将每行的转换结果存储到单独的列表中。因为现在我有一个结果:

[2001/01/25',00:01.0',2000.0,2000.0,-0.0002,0.0009, '2001/01/26', '00:02.0', 3000.0, 3000.0, -0.0003, 0.001, '2001/01/27', '00:03.0', 4000.0, 4000.0, -0.0004, 0.0011, '2001/01/28', '00:04.0', 5000.0, 5000.0, -0.0005, 0.0012, '2001/01/29', '00:05.0', 6000.0, 6000.0, -0.0006, 0.0013, '2001/01/30', '00:06.0', 7000.0, 7000.0, -0.0007, 0.0014, '2001/01/31', '00:07.0', 8000.0, 8000.0, -0.0008, 0.0015, '2001/02/01', '00:08.0', 9000.0, 9000.0, -0.0009, 0.0016, '2001/02/02', '00:09.0', 10000.0, 10000.0, -0.001, 0.0017, '2001/02/03'、'00:10.0'、11000.0、11000.0、-0.0011、0.0018]


谢谢你的关注。我期待您的回复。

您可以将
我的列表
制作成一个列表列表,其中每个
子列表
对应一行数据。比如说,

for row in reader:
    sub_list = []
    for cell in row:
        y = conv(cell)
        sub_list.append(y)
    my_list.append(sub_list)
print(my_list)

这将产生
[[第1行数据],[第2行数据],…]
。然后,您可以通过“我的列表”中的“子列表”
轻松地将列表分开

谢谢!这正是我想要的。我是Python新手,能在这里寻求帮助真是太好了。再次感谢你@瑞秋,我还不能投票,对不起!
for row in reader:
    sub_list = []
    for cell in row:
        y = conv(cell)
        sub_list.append(y)
    my_list.append(sub_list)
print(my_list)