2017-12-12 7 views
0

200000 행의 UTF-8 CSV 파일이 있고 빈 셀을 교체해야합니다. 스크립트로 처리 할 수 ​​있습니까? 감사. 그것으로 할 수더미 데이터 (data_row_number)로 UTF-8 CSV 파일의 빈 셀을 바꾸는 방법

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. 첫 번째 읽기 파일 (팬더 또는 csv 리더) 2. 대상 값을 바꿉니다. 네가 찔린다면 우리 끝까지 해보 라. 이미 시도한 경우 코드를 게시하십시오. –

답변

0

사용하여 파이썬 3.x를은 다음과 같습니다

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) 

당신에게주기 : 귀하의 의견은 아마도 NUL 바이트를 포함으로

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,香港,香港,香港 

, 당신은이를 교체해야합니다

그들을 CSV 판독기에 전달하기 전에.

+0

하지만 다른 문제가 있습니다. null 값을 가진 csv 파일은 오류를 표시하고 Null 값이있는 행 앞에 멈 춥니 다. ==================== 다시 시작 : C : \ Python37 \ convert.py ================ ====== 역 추적 (가장 최근 통화 최종) : 파일 : ROW_NUMBER에 대한 에서 "C \ Python37 \ convert.py", 7 호선, (CSV 입력) 열거에 행 : _csv.Error : 라인 NULL 바이트가 포함되어 있습니다. >>> – cdesk

+0

csv 리더로 전달하기 전에 제거해야합니다. 예 : 'csv_input = csv.reader (f_input에있는 라인에 대해 line.replace ('\ 0', ''))' –