2017-12-12 16 views
0

200000行のデータを持つUTF-8 CSVファイルがあり、空のセルを置き換える必要があります。スクリプトでそれを行うことはできますか?ありがとう。UTF-8 CSVファイルの空のセルをダミーデータ(data_row_number)に置き換える方法

次のように行うことができるのPython 3.xを使用し
LE_NA,SH_NA,ID_NUM,OC_NA,OT_NA,OC_SURN,OTHER_NA,SURN,BIRTH_DATE,PID,ADD1,ADD2,ADD3,ADD 
"王","王","A123456","王","","王","王","王","1980-10-6","","Hong Kong","香港","香港","香港" 
"陳","陳","A123456","陳","","陳","陳","","1970-1-6","","Hong Kong","香港","香港","香港" 
"李","李","A65456","李","","李","李","","1978-1-6","","Hong Kong","香港","香港","香港" 
"方","方","A166456","方","","方","方","","1972-4-6","","Hong Kong","香港","香港","香港" 
+0

1.最初の読み取りファイル(pandasまたはcsvリーダー)2.ターゲット値を置き換えます。もしあなたが私たちに知らせてくれたら、最後にお試しください。既に試したことがある場合は、コードを投稿してください。 –

答えて

0

あなたを与える
import csv 

with open('input.csv', 'r', newline='', encoding='utf-8') as f_input, open('output.csv', 'w', newline='', encoding='utf-8') as f_output: 
    csv_input = csv.reader(line.replace('\0', '') for line in f_input) 
    csv_output = csv.writer(f_output) 

    for row_number, row in enumerate(csv_input): 
     csv_output.writerow(v if len(v) else str(row_number) for v in row) 

LE_NA,SH_NA,ID_NUM,OC_NA,OT_NA,OC_SURN,OTHER_NA,SURN,BIRTH_DATE,PID,ADD1,ADD2,ADD3,ADD 
王,王,A123456,王,1,王,王,王,1980-10-6,1,Hong Kong,香港,香港,香港 
陳,陳,A123456,陳,2,陳,陳,2,1970-1-6,2,Hong Kong,香港,香港,香港 
李,李,A65456,李,3,李,李,3,1978-1-6,3,Hong Kong,香港,香港,香港 
方,方,A166456,方,4,方,方,4,1972-4-6,4,Hong Kong,香港,香港,香港 

あなたの入力はおそらくNULバイトが含まれているとして、あなたはこれらを交換する必要がありますそれらをCSVリーダーに渡す前に

+0

しかし、別の問題があります、null値を持つcsvファイル、それはエラーをプロンプトし、Null値を持つ行の前に停止しました。 ======================再起動:C:\ Python37 \ convert.py ================ ====== トレースバック(直近の最後のコール): ファイル "C:\ Python37 \ convert.py"、行7、 row_number、列挙列(csv_input)の列: _csv.Error:line NULLバイトが含まれています >>> – cdesk

+0

csvリーダーに渡す前に削除する必要があります。 'csv_input = csv.reader(f_inputの行のためのline.replace( '\ 0'、 ''))' –

関連する問題