使用python将csv中的单列解析为文本文件

时间:2013-02-23 00:46:36

标签: python csv python-2.7 text-parsing

我终于将我的dbf文件变成了csv,但现在我对如何将其解析为文本文件进行进一步编辑感到困惑。

我一直在阅读csv模块,但说实话,我的脑袋开始旋转。这对我来说似乎是希腊人。但是,如果可能的话,我想要使用模块的代码。

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

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

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

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

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

Cars.dbf

Toyota,2,2
Mazda,2,1

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

Cars.dbf

empty

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

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

python 2.7

顺便说一句。任何人都知道一个好的网站,解释csv模块的总新手可以理解的术语?感谢。

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

如果我理解正确,你已经有了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