最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python 寫入csv亂碼問題解決方法

 更新時間:2016年10月23日 09:42:19   投稿:lqh  
這篇文章主要介紹了python 寫入csv亂碼問題解決方法的相關資料,需要的朋友可以參考下

需求背景

最近為公司開發(fā)了一套郵件日報程序,郵件一般就是表格,圖片,然后就是附件。附件一般都是默認寫到txt文件里,但是PM希望郵件里的附件能直接用Excel這種軟件打開,最開始想保存為Excel,但是一想Excel的文件體積會多出好多倍,csv文件默認也是使用Excel打開的,但是根本還是文本文件,體積小,保存也方便,于是最終決定使用csv模塊來保存文件。

Python寫csv文件

Python提供了內(nèi)置模塊讀寫csv文件,這里我只用到了寫,讀這里就不做介紹了,也不難,主要是解決亂碼問題。

def save2csv(file_name=None, header=None, data=None):
"""
保存成CSV格式文件,方便Excel直接打開
:param file_name: 保存的文件名
:param header: 表頭,每一列的名字
:param data: 具體填充數(shù)據(jù)
: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文件失敗,數(shù)據(jù)為空或者不是數(shù)據(jù)類型')
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?嵌套型partials的使用

    python?嵌套型partials的使用

    這篇文章主要介紹了python?嵌套型partials的使用,partial對象中包含partial對象的使用,下文更多詳細介紹需要的小伙伴可以參考一下
    2022-03-03
  • python實現(xiàn)飛機大戰(zhàn)(面向過程)

    python實現(xiàn)飛機大戰(zhàn)(面向過程)

    這篇文章主要為大家詳細介紹了python面向過程實現(xiàn)飛機大戰(zhàn),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • 幾個提升Python運行效率的方法之間的對比

    幾個提升Python運行效率的方法之間的對比

    這篇文章主要介紹了幾個提升Python運行效率的方法之間的對比,包括使用Cython和PyPy等這些熱門方法,需要的朋友可以參考下
    2015-04-04
  • 基于Python實現(xiàn)高配版王者小游戲

    基于Python實現(xiàn)高配版王者小游戲

    咳咳,又是一款新的小游戲,就是大家熟悉的王者~本文將利用python來實現(xiàn)高(di)配版的王者的小游戲,感興趣的小伙伴可以跟隨小編一起學習一下
    2023-03-03
  • Python使用LSTM實現(xiàn)銷售額預測詳解

    Python使用LSTM實現(xiàn)銷售額預測詳解

    大家經(jīng)常會遇到一些需要預測的場景,比如預測品牌銷售額,預測產(chǎn)品銷量。本文給大家分享一波使用?LSTM?進行端到端時間序列預測的完整代碼和詳細解釋,需要的可以參考一下
    2022-07-07
  • Python從單元素字典中獲取key和value的實例

    Python從單元素字典中獲取key和value的實例

    今天小編就為大家分享一篇Python從單元素字典中獲取key和value的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python3 BeautifulSoup模塊使用字典的方法抓取a標簽內(nèi)的數(shù)據(jù)示例

    python3 BeautifulSoup模塊使用字典的方法抓取a標簽內(nèi)的數(shù)據(jù)示例

    這篇文章主要介紹了python3 BeautifulSoup模塊使用字典的方法抓取a標簽內(nèi)的數(shù)據(jù),結(jié)合實例形式Fenix了python3 BeautifulSoup模塊進行數(shù)據(jù)的抓取相關操作技巧,需要的朋友可以參考下
    2019-11-11
  • 基于spring boot 日志(logback)報錯的解決方式

    基于spring boot 日志(logback)報錯的解決方式

    今天小編就為大家分享一篇基于spring boot 日志(logback)報錯的解決方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • yolov5模型配置yaml文件詳細講解

    yolov5模型配置yaml文件詳細講解

    YOLOV5模型配置文件存放在modules文件夾下,這里使用的是 yolov5s.yaml,下面這篇文章主要給大家介紹了關于yolov5模型配置yaml文件的相關資料,需要的朋友可以參考下
    2022-09-09
  • 通過python連接Linux命令行代碼實例

    通過python連接Linux命令行代碼實例

    這篇文章主要介紹了通過python連接Linux命令行代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02

最新評論

安义县| 全南县| 阿鲁科尔沁旗| 花莲市| 永清县| 浦北县| 东丽区| 化德县| 汤阴县| 西华县| 桂东县| 广东省| 唐河县| 辉县市| 赤峰市| 门头沟区| 尚志市| 海盐县| 长泰县| 孝义市| 同江市| 尉犁县| 化州市| 林口县| 宜君县| 彭泽县| 芜湖市| 黔西县| 镇平县| 卫辉市| 闽侯县| 合江县| 鄯善县| 靖江市| 蒙山县| 上思县| 宝应县| 循化| 姜堰市| 双江| 崇礼县|