python生成csv乱符号化問題解決方法
3147 ワード
需要背景
最近、会社のためにメール日報プログラムを開発しました.メールは一般的に表、画像、それから添付ファイルです.添付ファイルは一般的にデフォルトでtxtファイルに書かれていますが、PMはメールの添付ファイルが直接Excelというソフトで開くことを望んでいます.最初はExcelに保存したいと思っていましたが、Excelのファイルの体積が何倍もあると思うと、csvファイルのデフォルトもExcelで開いていますが、根本的にはテキストファイルで、体積が小さく、保存も便利です.そこで最終的にcsvモジュールを使用してファイルを保存することにした.
Pythonはcsvファイルを書きます
Pythonは内蔵モジュールの読み書きcsvファイルを提供しています.ここでは書くだけです.ここを読むと紹介しません.難しくありません.主に文字化けして問題を解決します.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
注意:文字化けしのための3つの言葉があります
1
2
3
ファイルヘッダにcodecsを書き込む.BOM_UTF 8は文字化けしを防ぐことができて、ファイルはすべてutf-8符号化フォーマットのです
転載先:https://www.cnblogs.com/paranoia/p/6165030.html
最近、会社のためにメール日報プログラムを開発しました.メールは一般的に表、画像、それから添付ファイルです.添付ファイルは一般的にデフォルトでtxtファイルに書かれていますが、PMはメールの添付ファイルが直接Excelというソフトで開くことを望んでいます.最初はExcelに保存したいと思っていましたが、Excelのファイルの体積が何倍もあると思うと、csvファイルのデフォルトもExcelで開いていますが、根本的にはテキストファイルで、体積が小さく、保存も便利です.そこで最終的にcsvモジュールを使用してファイルを保存することにした.
Pythonはcsvファイルを書きます
Pythonは内蔵モジュールの読み書きcsvファイルを提供しています.ここでは書くだけです.ここを読むと紹介しません.難しくありません.主に文字化けして問題を解決します.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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)
注意:文字化けしのための3つの言葉があります
1
2
3
file_obj
=
open
(file_name,
'wb'
)
file_obj.write(codecs.BOM_UTF8)
#
writer
=
csv.writer(file_obj)
ファイルヘッダにcodecsを書き込む.BOM_UTF 8は文字化けしを防ぐことができて、ファイルはすべてutf-8符号化フォーマットのです
転載先:https://www.cnblogs.com/paranoia/p/6165030.html