2012-05-28 2 views
0

파이썬에 대한 지식이 없습니다. 내가 할 수 있기를 원하는 것은 따옴표 안에 3 열의 모든 필드를 래핑하도록 CSV 파일을 편집하는 스크립트를 작성하는 것입니다. 나는 많은 도움을받을 수 없었습니다. 빠르고 쉽습니다. 감사.파이썬은 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 파일에 다시 씁니다.