이 질문은 StackOverflow의 첫 번째 질문이므로 질문을 명확하게 작성하는 방법에 대한 제안은 언제나 환영합니다. 나는 부동 개체의 두 개의 열로 형태의 문자열을 변환하는 것을 시도하고,petl을 사용하여 문자열을 튜플로 변환
OBJECTID,CART_ID,SHAPE
1,ABC,"(1.2, -4.5)"
2,ABD,"(3.8, 9.1)"
파이썬 3.5에서 petl 모듈 사용 :
나는 같은 구조를 CSV 포인트의 데이터가 다음과 같이 있습니다. petl 설명서에서 내가 이해 한 것을 사용하여 세 단계로 수행 할 수 있어야합니다.
- 열고 CSV : 문자열에서 튜플에
a = petl.fromcsv('file.csv')
- 변환 SHAPE :
c = petl.unpack(b, 'SHAPE', ['LAT', 'LON']
내가 이것을 할 생각 : 스플릿) (.unpack 사용하여 두 개의 컬럼으로 튜플
b = petl.convert(a, 'SHAPE', tuple)
그러면 다음과 같은 CSV 파일이 생성됩니다. OBJECTID,CART_ID,LAT,LON
1,ABC,1.2,-4.5
2,ABD,3.8,9.1
대신, .convert는() 생성 :
OBJECTID,CART_ID,SHAPE
1,ABC,('(', '1', '.', '2', ',', ' ', '-', '4', '.', '5', ')')
어떤 도움을 켜짐)하고, 또는 b) 어떻게 CSV를 재구성하는 평가 될 것입니다 무엇 .convert().
감사합니다.
전체 코드 :
import petl
a = petl.fromcsv('file.csv')
petl.look(a)
b = petl.convert(a, 'SHAPE', tuple)
petl.look(b)
c = petl.unpack(b, 'SHAPE', ['LAT', 'LON']
petl.look(c)
는'ast.literal_eval'이 덜 악을 만들 것 :피 –