최근 회사를 위한 이메일 일일 프로그램을 개발했습니다. 이메일은 일반적으로 양식, 사진 순으로 구성됩니다. 첨부파일은 기본적으로 txt 파일로 작성하는 것이 일반적인데, PM은 이메일에 포함된 첨부파일을 엑셀 등의 소프트웨어로 바로 열 수 있기를 희망하고 있는데, 파일 크기가 200만 달러에 달하는 것으로 생각됐다. 엑셀이 몇배는 더 클텐데, csv 파일은 기본으로 되어있습니다. 엑셀로도 열었는데, 그래도 텍스트 파일이라 크기도 작고 저장도 쉬웠기 때문에 결국 csv 모듈을 이용해서 파일을 저장하기로 했습니다.
Python은 csv 파일을 읽고 쓸 수 있는 모듈을 내장하고 있습니다. 여기서는 쓰기만 사용하겠습니다. , 주로 잘못된 코드 문제를 해결하는 것입니다.
def save2csv(file_name=None, header=None, data=None): """ 保存成CSV格式文件,方便Excel直接打开 :param file_name: 保存的文件名 :param header: 表头,每一列的名字 :param data: 具体填充数据 :return: """ if file_name is None or isinstance(file_name, basestring) is False: raise Exception('保存CSV文件名不能为空,并且必须为字符串类型') if file_name.endswith('.csv') is False: file_name += '.csv' file_obj = open(file_name, 'wb') file_obj.write(codecs.BOM_UTF8) # 防止乱码 writer = csv.writer(file_obj) if data is None or isinstance(data, (tuple, list)) is False: raise Exception('保存CSV文件失败,数据为空或者不是数据类型') if header is not None and isinstance(header, (tuple, list)) is True: writer.writerow(header) for row in data: writer.writerow(row)
참고: 문자 깨짐을 방지하는 세 가지 문장이 있습니다
file_obj = open(file_name, 'wb') file_obj.write(codecs.BOM_UTF8) # 防止乱码 writer = csv.writer(file_obj)
파일 헤더에 codecs.BOM_UTF8을 작성하면 문자 깨짐을 방지할 수 있습니다. 파일은 모두 utf-8 인코딩 형식입니다
위 내용은 Python을 사용하여 CSV 왜곡 문자를 생성하는 문제에 대한 솔루션의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!