>  기사  >  백엔드 개발  >  Python이 사전을 CSV 파일에 쓰는 방법의 방법 예

Python이 사전을 CSV 파일에 쓰는 방법의 방법 예

coldplay.xixi
coldplay.xixi앞으로
2020-08-24 16:49:536835검색

Python이 사전을 CSV 파일에 쓰는 방법의 방법 예

【관련 학습 권장 사항: python tutorial

실제 데이터 분석 과정에서 우리는 Python을 분석하고 사용하여 데이터(대량 데이터)를 처리하며, 이 데이터를 모두 Python 개체로 변환합니다. 일반적인 사전.

예를 들어 현재 수십만 개의 데이터가 있습니다(물론 일반적으로 이러한 대규모 데이터는 데이터베이스 개념을 사용하며 CPU 메모리에서 실행되지 않습니다). 일부 값을 계산하는 함수를 사용하는 것은 불가능합니다. Excel에서는 비현실적이죠?
엑셀은 상대적으로 적은 양의 데이터만 처리하는데 적합하고, 편리성과 속도의 장점이 있습니다
그렇다면 데이터가 너무 많다고 가정해 보겠습니다. 이제 데이터를 파싱하고, 변환하고, 최종적으로 분석하고 처리한 다음 작성해 보겠습니다. 이렇게 요구사항이 충족되었으니, 데이터 사전을 CSV 파일에 작성하는 방법을 살펴보겠습니다.

이 프로젝트를 예전에 작성한 점수 계산 시스템과 연관시켜 보겠습니다. 당시에 txt 파일로 작성했는데 사전 형태로 제공되었으니 이제 개선해 보겠습니다. 이렇게 분석된 데이터가 있습니다. 예를 들어, 이제 이 데이터를 보관하고 저장해야 합니다.

먼저 CSV 파일에 쓰는 함수를 만들었습니다

def csv_writer():

여기서 먼저 데이터의 키(헤더)를 꺼냅니다. 여기서는 순회 알고리즘을 사용하므로 일부 친구는 왜 안 되는지 궁금해합니다. t 수동으로 추가하고 작성하면 몇 줄만 복사할 수 있지만 키가 수십 개 있으면 생각해 봅시다. 직접 복사하는 것이 약간 자동화되지 않은 것 같습니까? Python 한 시간을 사용하지 마십시오. 1분만 필요해요.

a=[]
  dict=student_infos[0]
  for headers in sorted(dict.keys()):#把字典的键取出来
    a.append(headers)
  header=a#把列名给提取出来,用列表形式呈现

여기 헤더는 목록입니다

여기서 이 파일을 열어서 작성 준비를 했고, 안에 있는 매개변수를 하나씩 설명하겠습니다.

** a는 "append" 형식으로 쓰는 것을 의미합니다. "w"인 경우 쓰기 전에 원본 파일의 데이터가 지워진다는 의미입니다.
newline은 데이터 사이에 빈 줄이 추가되지 않는다는 의미입니다. 인코딩='utf-8'은 인코딩 형식이 utf-8임을 의미합니다. Excel에서 csv 파일을 열 때 중국어 왜곡 문자가 표시되는 것을 원하지 않으면 쓰지 않고 제거할 수 있습니다.
pycharm의 CSV 파일이 왜곡되는 것을 방지하기 위해 여기서 사용하는 매개변수 인코딩은 utf-8입니다.
엑셀 파일의 인코딩 형식은 gbk입니다. 인코딩='utf를 추가하는 것이 좋습니다. -8' 매개변수.
엑셀에서 csv 파일이 깨지는 것을 원하지 않는다면 csv 파일을 메모장에서 열어 ANSI 형식으로 저장하는 것을 권장합니다. **

with open('成绩更新.csv', 'a', newline='', encoding='utf-8') as f:
    writer = csv.DictWriter(f, fieldnames=header) # 提前预览列名,当下面代码写入数据时,会将其一一对应。
    writer.writeheader() # 写入列名
    writer.writerows(student_infos) # 写入数据
  print("数据已经写入成功!!!")

여기 사전 데이터는 앞서 메모리 공간에서 이미 파싱하고 처리한 데이터입니다. 여기서 마지막 줄은 .writerows(사전)로 직접 작성합니다. )

사실 글쓰기는 정말 간단하고 우리의 모든 고민을 해결해줍니다!


위 내용은 Python이 사전을 CSV 파일에 쓰는 방법의 방법 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제