我的任务是比较两个CSV文件,找出它们之间的区别。可以计算每列的平均值。现在,我正在尝试读取CSV文件,将数据转换为float,并创建一个基于二维列表的数组,用于将来的列平均值计算。我被困住了。 我有两个类似这样的CSV文件,它们是相同的,但标题不同:
Extraction DATA
Start = 01-01-01 08:00:00.000 End = 01-01-01 08:01:00.000 Period = 6.00E+0
Request Request Name1 Name2 Name3 Name4
Date Time Descr1 Desc2 Descr3 Descr3
yy-mm-dd hh:mm:ss.sss mm mm mm mm
2001/01/24 00:00.0 1.00E+03 1.00E+03 -1.00E-04 8.00E-04
2001/01/25 00:01.0 2.00E+03 2.00E+03 -2.00E-04 9.00E-04
2001/01/26 00:02.0 3.00E+03 3.00E+03 -3.00E-04 1.00E-03
2001/01/27 00:03.0 4.00E+03 4.00E+03 -4.00E-04 1.10E-03
2001/01/28 00:04.0 5.00E+03 5.00E+03 -5.00E-04 1.20E-03
2001/01/29 00:05.0 6.00E+03 6.00E+03 -6.00E-04 1.30E-03
2001/01/30 00:06.0 7.00E+03 7.00E+03 -7.00E-04 1.40E-03
2001/01/31 00:07.0 8.00E+03 8.00E+03 -8.00E-04 1.50E-03
2001/02/01 00:08.0 9.00E+03 9.00E+03 -9.00E-04 1.60E-03
2001/02/02 00:09.0 1.00E+04 1.00E+04 -1.00E-03 1.70E-03
2001/02/03 00:10.0 1.10E+04 1.10E+04 -1.10E-03 1.80E-03
我写了这个代码:
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)
我将输出数据转换为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]
谢谢你的关注。我期待着你的答复
您可以使
my_list
成为一个列表列表,其中每个sub_list
对应于一行数据。例如这将产生
[[row 1 data], [row 2 data],...]
。然后您可以通过for sub_list in my_list
轻松地将列表分开相关问题 更多 >
编程相关推荐