그래서 .csv 파일 (이 파일을 클릭하면 다운로드 할 수 있습니다 : http://ge.tt/7lx5Boj2/)을 가져와 2D 목록으로 변환하고 싶습니다.2D 목록에서 문자열 문자를 대체하는 방법은 무엇입니까?
내 코드는 현재 그렇게하고 있지만 한 가지 문제가 있습니다.
중첩 된 목록의 각 요소는 중첩 된 각 목록의 처음과 끝에 아포스트로피가 추가되기 때문에 요소 목록이 아닌 큰 문자열로 읽혀집니다. 예를 들어
, 대신 :
["ID","Name","Type 1","Type 2","Generation","Legendary"]
나는 점점 오전 :
['"ID","Name","Type 1","Type 2","Generation","Legendary"']
는이 문제를 해결하려면, 나는 루프 빈으로 목록에있는 모든 아포스트로피를 대체하기 위해 중첩 만들려고 문자하지만 내 코드는 아무것도하지 않습니다. 바꾸기 작업이 전혀 일어나지 않았을 때와 똑같은 문자열을 출력합니다.
def read_info_file(filename):
opened_infocsv = open(filename, 'r') #opens an argued .csv file with INFO ormat.
linebylinelist = [fline.splitlines() for line in opened_infocsv] #converts entire .csv into a 2D list
opened_infocsv.close()
print(linebylinelist)
print('\n')
for i in linebylinelist:
for l in i:
l.replace("'","")
print(linebylinelist)
read_info_file('info_file5.csv')
해결 방법에 대한 의견이 있으십니까? 참고 : CSV를 가져올 수 없습니다.
EDIT : .strip을 변경하려고 시도했지만 여전히 작동하지 않습니다. 솔직히이 문제를 해결할 방법이 없다.
필자는 문제의 근원이 목록 이해를 사용하여 CSV를 2 차원 목록으로 변환하는 방식과 관련이 있다고 생각합니다. 어쩌면 선을 먼저 문자열로 변환하지 않고 CSV를 2 차원 목록으로 변환 할 수 있습니다.
적어도 파이썬의 csv 라이브러리를 사용하는 것이 좋습니다. 이렇게하면 분할하거나 대체 할 필요없이 각 행을 자동으로 값 목록으로 변환합니다. –
불행히도 CSV 가져 오기가 허용되지 않습니다. – ruckarucka