Jadual Kandungan
需求背景
Rumah pembangunan bahagian belakang Tutorial Python 使用python生成csv乱码问题解决方法

使用python生成csv乱码问题解决方法

Mar 16, 2017 pm 04:11 PM
python

需求背景

最近为公司开发了一套邮件日报程序,邮件一般就是表格图片,然后就是附件。附件一般都是默认写到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)
Salin selepas log masuk

注意:有三句话就是为了防止乱码的

file_obj = open(file_name, 'wb')
file_obj.write(codecs.BOM_UTF8) # 防止乱码
writer = csv.writer(file_obj)
Salin selepas log masuk

在文件头部写入codecs.BOM_UTF8就能防止乱码了,文件都是utf-8编码格式的

Atas ialah kandungan terperinci 使用python生成csv乱码问题解决方法 . Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Cara Mengakses DeepSeekapi - Tutorial Panggilan Akses DeepSeekapi Cara Mengakses DeepSeekapi - Tutorial Panggilan Akses DeepSeekapi Mar 12, 2025 pm 12:24 PM

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

Perisian perdagangan mata wang kuantitatif Perisian perdagangan mata wang kuantitatif Mar 19, 2025 pm 04:06 PM

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

DeepSeek Cara Menyebarkan Model R1 Secara Tempatan - DeepSeek Secara tempatan memasang tutorial model R1 DeepSeek Cara Menyebarkan Model R1 Secara Tempatan - DeepSeek Secara tempatan memasang tutorial model R1 Mar 12, 2025 pm 12:15 PM

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

Cara Melaksanakan Panggilan Dengan Python - Panduan Kaedah Panggilan Python DeepSeek Cara Melaksanakan Panggilan Dengan Python - Panduan Kaedah Panggilan Python DeepSeek Mar 12, 2025 pm 12:51 PM

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.

Apa itu Binance Alpha Apa itu Binance Alpha Mar 25, 2025 pm 03:39 PM

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.

Pertukaran mana yang boleh menghantar arahan lindung nilai pilihan melalui bahagian dagangan Pertukaran mana yang boleh menghantar arahan lindung nilai pilihan melalui bahagian dagangan Mar 28, 2025 pm 03:27 PM

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.

Bagaimana untuk mengintegrasikan perkhidmatan Node.js atau Python dengan cekap di bawah seni bina lampu? Bagaimana untuk mengintegrasikan perkhidmatan Node.js atau Python dengan cekap di bawah seni bina lampu? Apr 01, 2025 pm 02:48 PM

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 ...

Bagaimana dengan cekap menghuraikan kurungan bersarang berbilang lapisan dalam formula lateks dan mengubahnya menjadi kamus pelbagai dimensi? Bagaimana dengan cekap menghuraikan kurungan bersarang berbilang lapisan dalam formula lateks dan mengubahnya menjadi kamus pelbagai dimensi? Apr 01, 2025 am 08:57 AM

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

See all articles