【问题标题】:Extracting a CSV table into list (python 2.7)将 CSV 表提取到列表中(python 2.7)
【发布时间】:2013-12-13 00:14:55
【问题描述】:

我在一个名为 data.csv 的文件中有以下 CSV 数据

Inc,Time (seconds),Distance (Miles),cost,,,,,
1,37.7,0.12,7,,,,,
2,31.3,0.02,9,,,,,
3,36,0.13,9,,,,,
4,32.1,0.02,9,,,,,

(不仅仅是这 5 行。它大约 60 行)

我需要将这些数据放入 Python 中,并有效地创建一个包含所有 Inc Vales、Time Values、Distance Vales 和 Cost Values 的列表。

稍后我将进行数据分析,例如将所有时间值加在一起等(我很好)。

我只需要将这些数据分成 4 个不同的变量列表。

如果有人能指出我正确的方向或向我展示几行可以简单地做到这一点的代码,那将不胜感激。

我从以下代码开始:

dat_file = open("data.csv", 'r')
data = my_file.read()

干杯

【问题讨论】:

  • Paulo 我希望我能为您的精彩评论 +1000。你让我开心!
  • 大声笑,不幸的是没有帮助。我试图弄清楚如何获取数据列表,将其拆分为列上的各个变量。

标签: python database python-2.7


【解决方案1】:

您可能想尝试 Python 的“csv”模块。似乎有能力将数据读入行和列。以下链接提供了一些很好的信息和示例: http://www.pythonforbeginners.com/systems-programming/using-the-csv-module-in-python/

【讨论】:

    【解决方案2】:

    尝试从字典开始:

    import csv
    
    data={}
    with open('/tmp/sta.txt','r') as fin:
        reader=csv.DictReader(fin)
        for row in reader:
            for k,v in row.items():
                data.setdefault(k,[]).append(float(v))
    
    print data
    

    Splitting values out of a CSV Reader Python

    【讨论】:

      【解决方案3】:

      一种方法:

      import csv
      
      data={}
      Inc = []
      Time = []
      Dist = []
      Cost = []
      
      f = open("test.csv")
      reader=csv.DictReader(f)
      
      for dict in reader:
          Inc.append(dict["Inc"])
          Time.append(dict["Time (seconds)"])
          Dist.append(dict["Distance (Miles)"])
          Cost.append(dict["cost"])
      

      提供您想要的 - 列表集合。

      In [43]: Inc
      Out[43]: ['1', '1', '2', '3', '4']
      
      In [44]: Time
      Out[44]: ['37.7', '31.3', '36', '32.1']
      
      In [45]: Cost
      Out[45]: ['7', '9', '9', '9']
      
      In [46]: Dist
      Out[46]: ['0.12', '0.02', '0.13', '0.02']
      

      【讨论】:

        猜你喜欢
        • 2017-03-18
        • 1970-01-01
        • 1970-01-01
        • 2017-07-20
        • 1970-01-01
        • 2016-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多