在python中读取CSV文件并将其插入2d列表

在python中读取CSV文件并将其插入2d列表,python,csv,multidimensional-array,Python,Csv,Multidimensional Array,我想将CSV文件的数据(网络数据,如:时间、IP地址、端口号)插入Python中的2D列表中 代码如下: import csv datafile = open('a.csv', 'r') datareader = csv.reader(datafile, delimiter=';') data = [] for row in datareader: data.append(row) print (data[1:4]) 结果是: [['1', '6', '192.168.4.11

我想将CSV文件的数据(网络数据,如:时间、IP地址、端口号)插入Python中的2D列表中

代码如下:

import csv
datafile = open('a.csv', 'r')
datareader = csv.reader(datafile, delimiter=';')
data = []
for row in datareader:
    data.append(row)    
print (data[1:4])
结果是:

[['1', '6', '192.168.4.118', '1605', '', '115.85.145.5', '80', '', '60', '0.000000000', '0x0010', 'Jun 15, 2010 18:27:57.490835000', '0.000000000'], 
['2', '6','115.85.145.5', '80', '', '192.168.4.118', '1605', '', '1514', '0.002365000', '0x0010', 'Jun 15, 2010 18:27:57.493200000', '0.002365000'], 
['3', '6', '115.85.145.5', '80', '', '192.168.4.118', '1605', '', '1514', '0.003513000', '0x0018', 'Jun 15, 2010 18:27:57.496713000', '0.005878000']]
但它只是一个维度,我不知道如何创建二维数组并将每个元素插入数组


请建议我应该使用什么代码来实现此目的。(我在网站上查看了之前的提示,但没有一个对我有用)

你已经有了列表列表列表,这是一种2D数组,你可以像处理一个数据[1][1]一样处理它。

这是一个2D数组

可以这样对其进行索引:

data[row][value]
例如,请务必获取CSV中第二行的IP地址:

data[1][2]

请说出您的ip地址、时间和端口标记

ip_address = 2         
time = 3               
port = 11              
print [[item[ip_address], item[time], item[port]] for item in data]      
输出

[['192.168.4.118', '1605', 'Jun 15, 2010 18:27:57.490835000'], 
 ['115.85.145.5', '80', 'Jun 15, 2010 18:27:57.493200000'], 
 ['115.85.145.5', '80', 'Jun 15, 2010 18:27:57.496713000']]
您可以在将行追加到
数据
本身时执行此操作

for row in data reader:
    data.append([row[ip_address], row[time], row[port]])   

以下是一种从CSV获取2D数组的干净方法,该CSV也适用于较旧的Python版本:

import csv
data = list(csv.reader(open(datafile)))
print(data[1][4])