2017-02-22 2 views
-1

저는 파이썬 (2 주 전부터 코딩을 시작했으며 아직 용어 사용에 익숙하지 않았습니다)에 익숙하며 목록 및 텍스트 파일을 이해하는데 도움이 될 것입니다.Python : 텍스트 파일에서 목록 읽기 및 편집

나는 자동차 정보를 나열하는 목록을 저장하는 텍스트 파일 (예 : 배열이라고도 읽음 - 정확합니까?)이 있습니다.

[1,Nissan, Red, 5, 2017] 
[2,Ford, Blue, 8, 2012] 
[3,Nissan, Yellow, 9, 2001] 

첫 번째 질문은 "Are these lists?"입니다. 텍스트 파일이 위와 같은 경우

Car1 = [1,Nissan,Red, 2017] 
Car2 = [2,Ford, Blue, 2012] 

- 어떻게 등 Car1, Car2에 데이터를 부르지 : 그들은 코딩과 같은 일이 있습니까?

두 번째 질문은 '2'차를 검색 한 다음 2012 년에서 2016 년까지 어떻게 변경하겠습니까?

도움이 될 것입니다.

+1

json library 왜 사용하지 않습니다 'pickle' 객체를 저장 : 쉽게로 각자가 간단하게 정의 할 수 있습니다 이진 파일로? –

+1

당신이보고있는 것을 직렬화라고합니다. 일부 데이터를 직렬화하는 올바른 방법을 찾고 있습니다. 배열은 목록이 아니지만 배열은 많은 언어에서 가장 많이 사용되는 모음이고 목록은 Python에서 가장 일반적으로 사용되는 모음이므로 사람들은 배열을 말할 때 의미하는 바를 알고 있습니다. 잘못된).여러분이 작성한 객체는 이질적이기 때문에 (''1, "Nissan", "Red", 2017)'튜플로 튜플을 사용하면 좋겠지 만 (int, str, str, int','int') –

+1

이러한 장난감을 가지고 있고 장난감이 아닌 프로젝트에이 장난감을 사용하고 있다면 지금 올바르게 직렬화하는 법을 배워야 할 올바른시기가 될 것입니다. 'sqlite3' stdlib 모듈을보십시오. 강력한 데이터베이스 구조를 작성하고 올바르게 유지 보수하는 방법을 찾으십시오. –

답변

1

목록 및 배열은 동의어입니다. 데이터가 저장 될 때

질문

1은 일반적으로, 분리 된 텍스트 파일로 저장된다. 데이터 항목이 특수 문자로 구분됩니다. 예를 들어, 파일이 포함 된 경우

1,Nissan,Red,5,2017 

그러면 쉼표로 구분 된 텍스트 파일 (csv)이됩니다. 귀하의 예제에서와 같이 특정 언어로 포맷 된 것처럼 데이터를 저장하고 싶지는 않습니다.

데이터가 이름이 아닌 위치에 의해 색인 될 수 있도록 2

사전 파이썬에서 아마 필요 질문. 당신이로 데이터를 저장한다면 :

cars = [ 
    { 
    "index":1, 
    "brand":"Nissan", 
    "color":"Red", 
    "year": 2017 
    },{ 
    "index":2, 
    "brand":"Ford", 
    "color":"Blue", 
    "year": 2012 
    } 
] 

그럼 당신은이 형식은 또한 텍스트 파일에 기록하는 작업을 수행 할 경우 JSON 서식을 사용하실 수 있습니다 cars[1]["year"] = 2016

설정할 수 있습니다. 다른 주석가들의 말처럼 데이터를 직렬화/피클 링하거나 데이터베이스를 사용할 수도 있습니다.

+0

문자로 구분 된 텍스트는 데이터를 파일에 저장하는 데에만 사용됩니다. 말 그대로 무한히 많은 다른 가능성이 있습니다. (모두 실용적인 것은 아닙니다.) –

+0

리스트와 배열은 동의어가 아닙니다. 우리는 [Python에서 적절한 배열] (https://docs.python.org/3/library/array.html)을 가지고 있으며 목록이 아니라는 것에 주목하십시오. –

1

개인적으로이 경우 dictionaries을 선택했습니다. 저장 및 파일에서 dicts을 읽는

{"no": 1, "maker": "Ford", "doors": "4", "year": 2016} 

pickle와 매우 쉽게 또는 내장

관련 문제