2012-05-28 74 views
0

我不知道python。 我想要做的就是創建一個腳本,它將編輯一個CSV文件,以便它將圍繞引號將列3中的每個字段包裹起來。我一直無法找到很多幫助,這是快速和容易做到的嗎?謝謝。Python將報價插入到CSV列中

column1,column2,column3 
1111111,2222222,333333 
+0

你的意思是「在第3列的每個字段周圍引用引號」?另外,你爲什麼要這樣做?報價僅在少數特殊情況下需要。 –

+0

你試圖解決的實際問題是什麼? –

回答

0

這是一個相當簡單的解決方案,非常針對您的請求(假設您的源文件被稱爲「csvfile.csv」,並且位於C:\ Temp中)。

import csv 

newrow = [] 
csvFileRead = open('c:/temp/csvfile.csv', 'rb') 
csvFileNew = open('c:/temp/csvfilenew.csv', 'wb') 

# Open the CSV 
csvReader = csv.reader(csvFileRead, delimiter = ',') 

# Append the rows to variable newrow 
for row in csvReader: 
    newrow.append(row) 

# Add quotes around the third list item 
for row in newrow: 
    row[2] = "'"+str(row[2])+"'" 

csvFileRead.close() 

# Create a new CSV file 
csvWriter = csv.writer(csvFileNew, delimiter = ',') 

# Append the csv with rows from newrow variable 
for row in newrow: 
    csvWriter.writerow(row) 

csvFileNew.close() 

有更優雅的做你想要的方式,但我試圖把它分解成基本塊顯示每個位是如何工作的。

0
import csv 
filename = 'file.csv' 
with open(filename, 'wb') as f: 
    reader = csv.reader(f) 
    for row in reader: 
     row[2] = "'%s'" % row[2] 

然後把它寫回csv文件中。