使用python生成csv乱码问题解决方法
需求背景
最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件。附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存为Excel,但是一想Excel的文件体积会多出好多倍,csv文件默认也是使用Excel打开的,但是根本还是文本文件,体积小,保存也方便,于是最终决定使用csv模块来保存文件。
Python写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编码格式的
Atas ialah kandungan terperinci 使用python生成csv乱码问题解决方法 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penjelasan terperinci mengenai akses dan panggilan DeepSeekapi: Panduan permulaan cepat Artikel ini akan membimbing anda secara terperinci bagaimana untuk mengakses dan memanggil DeepSeekapi, membantu anda dengan mudah menggunakan model AI yang kuat. Langkah 1: Dapatkan kunci API untuk mengakses laman web rasmi DeepSeek dan klik pada "Platform Terbuka" di sudut kanan atas. Anda akan mendapat sejumlah token percuma (digunakan untuk mengukur penggunaan API). Dalam menu di sebelah kiri, klik "Apikeys" dan kemudian klik "Buat Apikey". Namakan Apikey anda (contohnya, "Ujian") dan salin kunci yang dihasilkan dengan segera. Pastikan untuk menyimpan kunci ini dengan betul, kerana ia hanya akan dipaparkan sekali

Artikel ini meneroka fungsi perdagangan kuantitatif tiga bursa utama, Binance, OKX dan Gate.io, yang bertujuan untuk membantu peniaga kuantitatif memilih platform yang betul. Artikel pertama kali memperkenalkan konsep, kelebihan dan cabaran perdagangan kuantitatif, dan menerangkan fungsi -fungsi yang harus dimiliki oleh perisian perdagangan kuantitatif yang sangat baik, seperti sokongan API, sumber data, alat backtesting dan fungsi kawalan risiko. Seterusnya, fungsi perdagangan kuantitatif tiga pertukaran telah dibandingkan dan dianalisis secara terperinci, menunjukkan kelebihan dan kekurangan masing -masing, dan akhirnya memberikan cadangan pemilihan platform untuk pedagang kuantitatif pengalaman yang berbeza, dan menekankan kepentingan penilaian risiko dan backtesting strategik. Sama ada anda seorang pemula atau peniaga kuantitatif yang berpengalaman, artikel ini akan memberi anda rujukan berharga

Model DeepSeekR1 Panduan Penyebaran Tempatan: Membuka Analisis Data dan Potensi Ramalan DeepSeek adalah analisis data dan alat ramalan yang kuat, dan model R1 dapat memberikan sokongan model yang efisien dan tepat untuk pelbagai senario aplikasi. Panduan ini akan memberi anda arahan terperinci tentang cara menggunakan model DeepSeekR1 dalam persekitaran di premis anda untuk membantu anda memulakan dengan cepat dan memanfaatkan kekuatannya. Keperluan Sistem untuk Peringkat Penyediaan Langkah Penempatan Tempatan Model DeepSeekR1: Sila pastikan mesin tempatan anda memenuhi keperluan konfigurasi sistem minimum DeepSeek (untuk keperluan khusus, sila rujuk kepada dokumen DeepSeek rasmi). Pemasangan Perisian: Muat turun dan pasang pakej pemasangan yang disediakan oleh DeepSeek dan ikuti panduan pemasangan

DeepSeek Deep Learning Library Python Call Guide DeepSeek adalah perpustakaan pembelajaran mendalam yang kuat yang boleh digunakan untuk membina dan melatih pelbagai model rangkaian saraf. Artikel ini akan memperkenalkan secara terperinci bagaimana menggunakan Python untuk memanggil DeepSeek untuk pembangunan pembelajaran yang mendalam. Langkah -langkah untuk memanggil DeepSeek dengan Python 1. Pasang DeepSeek Pastikan bahawa persekitaran Python dan alat PIP dipasang. Pasang DeepSeek dengan arahan berikut: Pipinstalldeepseek2.

Anbi Alpha adalah platform pengagregatan alat dan perkhidmatan untuk peniaga profesional dan pelabur di platform Binance. Fungsi terasnya termasuk: 1. Strategi Square, yang menyatukan strategi perdagangan yang berbeza; 2. Strategi Builder, yang membolehkan strategi perdagangan tersuai; 3. Analisis Data Lanjutan, menyediakan alat analisis pasaran; 4. Perkhidmatan peringkat institusi untuk memenuhi keperluan pelabur profesional.

Sehingga 2024, pertukaran cryptocurrency arus perdana yang menyokong secara langsung menghantar arahan lindung nilai pilihan melalui terminal perdagangan: 1. 2. OKX menyokong alat lindung nilai dan alat gabungan strategi, dan panel lindung nilai terbina dalam di web/aplikasinya; 3. Binance menyokong lindung nilai pelindung, yang memerlukan kedudukan gabungan manual atau API; 4. CME, menyediakan pilihan standard, memerlukan akses melalui broker; 5. Ledgerx, menyediakan alat lindung nilai peringkat profesional, yang memerlukan pensijilan institusi.

Ramai pemaju laman web menghadapi masalah mengintegrasikan perkhidmatan node.js atau python di bawah seni bina lampu: lampu sedia ada (Linux Apache MySQL PHP) Laman web seni bina memerlukan ...

Python Parses LaTex Multi-Layer Brackets: Membina Kamus Multi-Dimensi Banyak LaTeX ...
