用python读取本地jiedian.csv文件中的第三列(不包括标题行),每69行组成一个列表,所有子列表组成一个大列表
时间: 2024-05-01 16:23:00 浏览: 172
可以使用Python中的csv模块来读取csv文件,然后利用切片和列表推导式来实现这个需求。具体代码如下:
```python
import csv
# 读取csv文件
with open('jiedian.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
# 跳过标题行
next(reader)
# 获取第三列数据
data = [row[2] for row in reader]
# 将数据按照69行一组分割成子列表
result = [data[i:i+69] for i in range(0, len(data), 69)]
print(result)
```
这样就可以得到一个由多个子列表组成的大列表,每个子列表包含69个元素(除了最后一个子列表可能会少于69个元素)。
相关问题
33jiedian.xlsx
### 回答1:
33jiedian.xlsx是一个文件名,根据扩展名".xlsx"来看,这是一个Microsoft Excel电子表格文件。电子表格是一种常用的办公软件,可以用于数据处理、计算、存储和分析。
根据文件名中的"33jiedian"来看,可能表示这个电子表格是用来记录和处理关于33个节点的数据。节点通常是指网络、系统或组织中的一个独立元素,可以是设备、服务器、路由器等。这个电子表格可能包含了这33个节点的相关信息,比如名称、地址、状态、连接情况、设备类型等。
使用Excel可以对这些数据进行各种操作和分析。可以利用Excel提供的函数和公式来计算、汇总、筛选和排序这些数据。也可以创建图表和图形来可视化数据,以便更直观地理解和展示。
此外,Excel还提供了数据透视表、自动筛选、数据验证等功能,可以帮助用户更高效地处理和分析数据。它还支持各种格式的导入和导出,使得数据可以与其他软件和系统进行交互。
总之,33jiedian.xlsx是一个用Excel创建和保存的电子表格文件,用于记录和处理关于33个节点的数据。通过Excel的功能和特性,可以对这些数据进行各种操作和分析,为用户提供更好的数据管理和决策支持。
### 回答2:
33jiedian.xlsx是一个Excel电子表格文件。在这个文件中,"33jiedian"可能是指文件的名称或者某个特定的工作表的名称。
根据文件名来看,"33jiedian"可能代表了某个特定的主题或者数据集。根据具体情况,这个文件可能包含了与33个节点相关的数据,这些节点可以是在一个网络或者图形结构中,也可以是在某个组织或者项目中的具体位置或者任务。这个文件可能包含对这些节点的描述、属性、关系或者其他相关的信息,以便进行分析、管理或者可视化。
另一方面,如果"33jiedian"是指某个工作表的名称,那么这个工作表可能是一个包含了33个节点相关数据的特定部分。这些节点数据可以包括节点的名称、ID、位置、属性或者其他相关信息。该工作表可能会有列和行来对这些数据进行组织和整理,以方便用户进行查看和分析。
总之,"33jiedian.xlsx"所代表的电子表格文件具体内容需要根据实际情况来确定。以上仅仅是对于这个文件名的可能解释,具体来说还需要根据实际情况进一步分析和了解。
# -*- coding: utf-8 -*- """ Created on Fri May 26 21:47:54 2023 @author: sleepy student """ import numpy as np jiedian = [] lujing = np.array([[0,1.5,1.6,4,35,44,12,10,24,37,39,33,139,26,16,12,39,49,12,33,28], [1.5,0,3,2.8,33,43,13,12,23,44,37,31,137,25,15,10,37,48,14,31,27], [1.6,3,0,5,33,45,12,10,25,41,36,31,137,25,17,12,37,49,12,31,26], [4,2.8,5,0,34,43,13,13,23,41,38,32,138,26,15,12,38,51,16,30,27], [35,33,33,34,0,43,47,32,33,41,28,7,131,22,25,26,28,50,43,13,13], [44,43,45,43,43,0,54,46,25,73,59,37,108,26,30,34,60,26,57,27,28], [12,13,12,13,47,54,0,17,32,39,36,43,149,36,25,23,42,59,8,41,37], [10,12,10,13,32,46,17,0,32,34,26,31,137,27,25,21,27,58,12,29,22], [24,23,25,23,33,25,32,32,0,64,43,22,120,8,18,20,47,38,41,15,17], [37,44,41,41,41,73,39,34,64,0,29,48,156,53,57,55,29,80,35,46,44], [39,37,36,38,28,59,36,26,43,29,0,24,145,35,44,41,7,72,30,31,28], [33,31,31,32,7,37,43,31,22,48,24,0,122,18,21,22,27,46,39,9,10], [139,137,137,138,131,108,149,137,120,156,145,122,0,117,126,131,145,100,148,115,117], [26,25,25,26,22,26,36,27,8,53,35,18,117,0,11,13,41,35,33,10,9], [16,15,17,15,25,30,25,25,18,57,44,21,126,11,0,11,41,35,33,10,9], [12,10,12,12,26,34,23,21,20,55,41,22,131,13,11,0,18,40,25,21,18], [39,37,37,38,28,60,42,27,47,29,7,27,145,41,41,18,0,69,33,34,33], [49,48,49,51,50,26,59,58,38,80,72,46,100,35,35,40,69,0,60,38,38], [12,14,12,16,43,57,8,12,41,35,30,39,148,33,33,25,33,60,0,36,34], [33,31,31,30,13,27,41,29,15,46,31,9,115,10,10,21,34,38,36,0,5], [28,27,26,27,13,28,37,22,17,44,28,10,117,9,9,18,33,38,34,5,0]]) for i in range(21): lujing[i][i] = 1e9 x = 0 changdu = [] while len(jiedian)<21: min = 1e9 miny = 0 for j in range(21): if lujing[x][j]<min: min = lujing[x][j] miny = j if miny not in jiedian: if x not in jiedian: jiedian.append(x) jiedian.append(miny) changdu.append(lujing[x][miny]) x = miny else: lujing[x][miny] = 1e9 将以上代码转为matlab代码
以下是将你提供的代码转换为 MATLAB 代码的版本:
```matlab
jiedian = [];
lujing = [0,1.5,1.6,4,35,44,12,10,24,37,39,33,139,26,16,12,39,49,12,33,28;
1.5,0,3,2.8,33,43,13,12,23,44,37,31,137,25,15,10,37,48,14,31,27;
1.6,3,0,5,33,45,12,10,25,41,36,31,137,25,17,12,37,49,12,31,26;
4,2.8,5,0,34,43,13,13,23,41,38,32,138,26,15,12,38,51,16,30,27;
35,33,33,34,0,43,47,32,33,41,28,7,131,22,25,26,28,50,43,13,13;
44,43,45,43,43,0,54,46,25,73,59,37,108,26,30,34,60,26,57,27,28;
12,13,12,13,47,54,0,17,32,39,36,43,149,36,25,23,42,59,8,41,37;
10,12,10,13,32,46,17,0,32,34,26,31,137,27,25,21,27,58,12,29,22;
24,23,25,23,33,25,32,32,0,64,43,22,120,8,18,20,47,38,41,15,17;
37,44,41,41,41,73,39,34,64,0,29,48,156,53,57,55,29,80,35,46,44;
39,37,36,38,28,59,36,26,43,29,0,24,145,35,44,41,7,72,30,31,28;
33,31,31,32,7,37,43,31,22,48,24,0,122,18,21,22,27,46,39,9,10;
139,137,137,138,131,108,149,137,120,156,145,122,0,117,126,131,145,100,148,115,117;
26,25,25,26,22,26,36,27,8,53,35,18,117,0,11,13,41,35,33,10,9;
16,15,17,15,25,30,25,25,18,57,44,21,126,11,0,11,41,35,33,10,9;
12,10,12,12,26,34,23,21,20,55,41,22,131,13,11,0,18,40,25,21,18;
39,37,37,38,28,60,42,27,47,29,7,27,145,41,41,18,0,69,33,34,33;
49,48,49,51,50,26,59,58,38,80,72,46,100,35,35,40,69,0,60,38,38;
12,14,12,16,43,57,8,12,41,35,30,39,148,33,33,25,33,60,0,36,34;
33,31,31,30,13,27,41,29,15,46,31,9,115,10,10,21,34,38,36,0,5;
28,27,26,27,13,28,37,22,17,44,28,10,117,9,9,18,33,38,34,5,0];
for i = 1:21
lujing(i,i) = 1e9;
end
x = 1;
changdu = [];
while length(jiedian) < 21
min = 1e9;
miny = 0;
for j = 1:21
if lujing(x,j) < min
min = lujing(x,j);
miny = j;
end
end
if ~ismember(miny, jiedian)
if ~ismember(x, jiedian)
jiedian = [jiedian, x];
end
jiedian = [jiedian, miny];
changdu = [changdu, lujing(x,miny)];
x = miny;
else
lujing(x,miny) = 1e9;
end
end
```
这个 MATLAB 版本的代码应该与你提供的 Python 版本代码执行的结果是相同的。
阅读全文