私はPythonの知識がありません。私ができるようにしたいのは、CSVファイルを編集するスクリプトを作成して、列3のすべてのフィールドを引用符で囲むようにすることです。私は多くの助けを見つけることができませんでした、これは速くて簡単です?ありがとう。
column1,column2,column3
1111111,2222222,333333
私はPythonの知識がありません。私ができるようにしたいのは、CSVファイルを編集するスクリプトを作成して、列3のすべてのフィールドを引用符で囲むようにすることです。私は多くの助けを見つけることができませんでした、これは速くて簡単です?ありがとう。
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
モジュールを確認することから始めます。
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ファイルに書き戻します。