我不知道python。 我想要做的就是創建一個腳本,它將編輯一個CSV文件,以便它將圍繞引號將列3中的每個字段包裹起來。我一直無法找到很多幫助,這是快速和容易做到的嗎?謝謝。Python將報價插入到CSV列中
column1,column2,column3
1111111,2222222,333333
我不知道python。 我想要做的就是創建一個腳本,它將編輯一個CSV文件,以便它將圍繞引號將列3中的每個字段包裹起來。我一直無法找到很多幫助,這是快速和容易做到的嗎?謝謝。Python將報價插入到CSV列中
column1,column2,column3
1111111,2222222,333333
這是一個相當簡單的解決方案,非常針對您的請求(假設您的源文件被稱爲「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()
有更優雅的做你想要的方式,但我試圖把它分解成基本塊顯示每個位是如何工作的。
我會先看看csv
module。
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文件中。
你的意思是「在第3列的每個字段周圍引用引號」?另外,你爲什麼要這樣做?報價僅在少數特殊情況下需要。 –
你試圖解決的實際問題是什麼? –