Windows 7에서 .csv 파일을 구문 분석하는 python 3.6 스크립트를 작성하려고합니다. 또한 파일의 경로를 가져와야합니다. 변수 (키보드에서 sys.argv를 통해). 리눅스에서 시도한 것은 쉽습니다.windows7에서 파이썬으로 .csv 파일을 구문 분석하는 동안 변수에서 경로 가져 오기
Python 3.6.2 | Continuum Analytics, Inc. | (기본 7 월 (20) 2017 13시 51분 32초)
import sys
import csv
#Run script like
#project.py <source_file_path> <resulting_file_path>
source = sys.argv[1]
res_file = sys.argv[2]
fileIn = open(source, 'r')
fileOut = open (res_file, 'w')
with open(str(source),encoding='utf-16') as tsvin:
tsvin = csv.reader(tsvin, delimiter=';')
fileOut = open (str(res_file), 'w')
for row in tsvin:
fileOut.write(""+"\t"+row [0]+"\t"+row[0]+"\n")
내가 Windows7의로 전환 리눅스
에 [GCC는 4.4.7 20120313 (레드햇 4.4.7-1)]을 더 복잡하게되었다. 마지막으로, 나는 이것으로 끝났다.파이썬 3.6.3 (v3.6.3 : 2c5fed8 10 월 3 2017 17시 26분 49초)는 Win32
#!/usr/bin/python3
import sys
import csv
#raw_file_path = str(sys.argv[1])
#report_path = str(sys.argv[2])
with open (r'C:\Users\folder\source.csv', 'r', newline='', encoding='utf-16') as tsvin:
tsvin = csv.reader (tsvin, delimiter=';')
with open (r'C:\Users\folder\res.txt' , 'w') as fileOut:
for row in tsvin:
fileOut.write(""+"\t"+row [0]+"\t"+row[0]+"\n")
에 [MSC v.1900 32 비트 (인텔)] 내가 사용하려고하면 대신 실제 경로 내 변수가 나는 오류 (1)가 :
with open ('r + raw_file_path , 'r', newline='', encoding='utf-16') as tsvin:
OSError: [Errno 22] Invalid argument: "r'C:\\Users\\folder\\source.csv'"
또는 다른 오류 (2) 나는 다른 방법으로 내 변수를 사용하려고하면 :
with open (r + raw_file_path , 'r', newline='', encoding='utf-16') as tsvin:
NameError: name 'r' is not defined
문제는 따옴표로 인한 것 같지만 해결 방법을 모릅니다.
파일 열기 문에서 "r"을 제거하면 문제가 해결됩니다! –