2016-10-29 3 views
0

저는 여기 (그리고 또한 파이썬에서) 새로운 것입니다. 그래서 제가 잘못한 것을 말해주십시오. 좀 (내가 생각하는) 문제가 : 나는 모든 변수 (x)는 부동입니다 하위 목록의 목록이 을 :대괄호없이 파일에 하위 목록을 쓰고 ";"로 구분합니다.

tab=[[x11,x12,x13],[x21,x22,x23]] 

을 내가 괄호없이 *의 txt 파일에 쓰기 wanto [] 및 분리 에 의해 ";" 같은 :

X11, X12, X13

X21, X22, X23

나는이처럼하려고 노력 :하지만 난 다음에 무엇을해야하는지 모르겠어요.

tab=[[x11,x12,x13],[x21,x22,x23]] 
result=open("result.txt","w") 
result.write("\n".join(map(lambda x: str(x), tab))) 
result.close() 

나를 도우려는 모든 사람에게 감사드립니다.

+0

당신은 행에 가입하는 것을 잊었다' "\ n".join (지도 (가입, tab))' –

+0

사이드 노트 :'map (lambda x : str (x), tab)'은'map (str, tab)'을 수행하는 어리석은/느린 방법이다. 'map'을 사용하기 위해'lambda '가 필요하다면 대신리스트 이해력이나 생성자 표현식을 사용하십시오; 그들은 더 파이썬 적이며, 함수 호출을 피하면 어쨌든 더 빨리 수행 할 수 있습니다. 파이썬을 처음 접하는 사람은'map'이나'filter'를 사용해서는 안됩니다. 왜냐하면 그것들은 대체로 잘못된 해결책이기 때문입니다. – ShadowRanger

답변

3

이에 대한 csv module를 사용할 수 있습니다

csv.writer.writerows() method
import csv 

with open("result.txt", "wb") as result: 
    writer = csv.writer(result, delimiter=';') 
    writer.writerows(tab) 

는 목록의 목록을 소요하고 당신을 위해 문자열로 부동 소수점 값으로 변환합니다.

result.write("\n".join([';'.join([str(x) for x in item]) for item in tab])) 

또는 좀 더 간단 :

0

당신이 사용해야합니다. ";"

result.write("\n".join([';'.join(map(str, item)) for item in tab])) 
관련 문제