【问题标题】:reading CSV file and inserting it into 2d list in python读取CSV文件并将其插入python中的二维列表
【发布时间】:2014-08-27 16:52:03
【问题描述】:

我想在 Python 中将 CSV 文件的数据(网络数据,例如:时间、IP 地址、端口号)插入到二维列表中。

代码如下:

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']]

但它只是一维,我不知道如何创建二维数组并将每个元素插入到数组中。

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

【问题讨论】:

    标签: python csv multidimensional-array


    【解决方案1】:

    这是一种从 CSV 中获取二维数组的简洁方法,该方法也适用于较旧的 Python 版本:

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

    【讨论】:

      【解决方案2】:

      您已经有列表列表,这是一种二维数组,您可以像一个数据[1][1] 等处理它。

      【讨论】:

        【解决方案3】:

        这是一个二维数组!

        可以这样索引:

        data[row][value]
        

        例如,获取 CSV 中第二行的 IP 地址:

        data[1][2]
        

        【讨论】:

          【解决方案4】:

          说出你对 ip_address、时间、端口的指示

          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']]
          

          您可以在将行附加到 data 本身时执行此操作

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-06-19
            • 1970-01-01
            • 2019-10-05
            • 2014-09-13
            • 1970-01-01
            相关资源
            最近更新 更多