【问题标题】:Parsing out single column from csv into text file using python使用python将csv中的单列解析为文本文件
【发布时间】:2013-02-08 17:57:54
【问题描述】:

我终于把我的 dbf 文件变成了 csv,但现在我很困惑如何将它解析成文本文件以供进一步编辑。

我一直在阅读 csv 模块,但老实说,我的头开始旋转。对我来说,其中大部分似乎是希腊语。但是,如果可能的话,我想要使用模块的代码。

我的 car.csv 文件如下所示:

Name,Total,Freq
Toyota,2,2
Mazda,1,1
Kia,2,1
Volkswagon,3,1

我想将以下句子输出到文本文件(或 csv)中:

在这附近有一辆丰田、马自达、起亚和大众汽车停在街上。

如果结果是两个我不想要逗号:

汽车.dbf

Toyota,2,2
Mazda,2,1

在这附近有一辆丰田和马自达停在街上。

汽车.dbf

empty

这附近的街道上没有停放汽车。

我从之前的一篇文章中得到了一个关于构建 if-else 句子的好建议,但对如何解析列却迷失了(由于某种原因它们没有出现在 Excel 中,我以为我只有一列)

python 2.7

顺便说一句。任何人都知道一个很好的网站,它以新手可以理解的方式解释 csv 模块?谢谢。

【问题讨论】:

    标签: python csv python-2.7 text-parsing


    【解决方案1】:

    Python doc examples 总是值得去的地方。

    你想要这样的东西:

    import csv
    
    makes = []
    with open('cars.csv', 'rb') as f:
        reader = csv.reader(f)
        next(reader) # Ignore first row
    
        for row in reader:
            makes.append(row[0])
    
    print makes
    

    【讨论】:

      【解决方案2】:

      使用csv 模块:

      >>> with open('cars.csv') as f:
      ...    reader = csv.reader(f)
      ...    cars_list = [row[0] for row in reader]
      ...
      >>> cars_list
      ['Name', 'Toyota', 'Mazda', 'Kia', 'Volkswagon']
      

      【讨论】:

        【解决方案3】:

        如果我理解正确,您已经拥有 csv 文件。如果是这样,您需要做的就是将其读入您用来处理它的任何函数中。这是一个例子:

        def process_csv():
            with open('/path/to/file/car.csv') as f:
                for line in f:
                    values_list = line.split(',') #gives you a list
                    #process your the rest here.
        

        基本上,这会加载您的文件并从每一行创建一个列表。所以对于你的Toyota,2,2,你最终会得到

        > print('Name = " + values_list[0]) Name = Toyota

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-03-08
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-08
          • 2011-11-17
          相关资源
          最近更新 更多