2013-02-23 83 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