2016-11-24 23 views
0

我這裏有一些代碼:打印所選列從CSV文件在Python

with open("dsasa.csv", 'rb') as csvfile: 
content = csv.reader(csvfile, delimiter='|') 
for row in content: 
    print row``` 

我想打印在以下格式從csv文件4列2,3:

4556 | 432432898904 | Joseph Henry
4544 | 54522238904 | Mark Mulligan

我有兩個我遇到的問題。一個是分隔符管(|)不出現在列之間。第二個問題是,我無法通過手動方式打印我想要的特定列,即。 print row[2], row[3], row[4]

我看了一下在線信息並嘗試了幾種不同的解決方案,但我似乎無法找到讓這個工作的路線。

任何幫助將不勝感激。

謝謝!

回答

1

試試這個:

with open("dsasa.csv", 'rb') as csvfile: 
    content = csv.reader(csvfile) 
    for row in content: 
     print "|".join([row[2],row[3],row[4]]) 

csv.readerdelimiter參數指的是輸入文件不輸出。

+0

謝謝。我發現一個解決方案非常類似於你之前發佈的。我唯一的區別就是在最後一行我寫: 'print row [2],「|」,row [3],「|」,row [6],row [7]' 是第6排和第7排之間的每個柱子之間的空間,但沒有管子。但是爲了在球上,我給你答案。我也使用'next(Content,None)'去掉頭部 –

0

作爲分隔符在列之間出現什麼?你確定它是'|'嗎?而不是逗號?我猜測,因爲你沒有正確的分隔符,你不能使用打印行[2],行[3],行[4]。你能發佈一行CSV嗎?

+0

CSV文件中的示例行在哪裏? –

+0

我刪除了完整的分隔符,它現在打印我想要打印的特定行。但是,我仍然想在其中添加'|'符號。 –

+0

其實我添加了一個「|」在打印語句時每行之間。 –