2013-02-23 82 views
1

我最终得到了我的dbf文件是一个csv,但现在我很困惑如何解析这个文本文件进行进一步编辑。使用python从csv解析出单个文本文本到文本文件

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

我car.csv文件看起来像这样:

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

我想输出下面的语句到一个文本文件(或CSV):

在这附近有一个丰田,马自达,起亚和Volkswagon停在街上。

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

Cars.dbf

Toyota,2,2 
Mazda,2,1 

在这附近有一个丰田和马自达停在路边。

Cars.dbf

empty 

有没有车停在街上这附近之内。

我从以前的文章中构建if-else语句时得到了很好的建议,但是在解析列时丢失了(由于某些原因,它们并未出现在Excel中,我以为我只有一列)

python 2.7

BTW。任何人都知道一个很好的网站,可以用新手都能理解的方式来解释csv模块吗?谢谢。

回答

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

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