python CSV模块 写入CSV文件时,0开头的数字会丢失

# _*_ coding:utf-8 _*_

#win7+python2.7.x

import csv

csvfile = file('csvtest.csv', 'wb')

writer = csv.writer(csvfile)

writer.writerow(['id', 'url', 'keywords'])

data = [

('0011', 'http://www.59store.com/', '59store.com'),

('0022', 'http://59data.top/', '59data.top'),

('0033', 'http://my.space.zmx/', '汉子乱码?')

]

writer.writerows(data)

csvfile.close()

写入CSV时会丢失0字头,汉字乱码

是 Excel 的问题。

Excel 会自己猜测是否是一个数字列,如果是数字列,默认是会按数字显示(省略0)。

Excel 默认格式为本地字符集(简体中文版是

gbk

),它无法自动识别无BOM格式的

utf8

格式,除非在文件前面加上3字符的BOM头。(在 office 2007 下的某个版本,对有BOM头的

utf8

文件也有Bug)

你应该使用文本编辑器(不要用

notepad

)打开看看里面的内容。

补充说明下:

微软家的老牌软件对于utf8无bom文件的支持都很弱。bom头是utf8文件开头加上三个字符(十六进制是

EFBBBF

),具体可以搜索

utf8 bom头

没有太完美的方案,我列出来你根据情况选择一下:

如果想保持

utf

编码,可以尝试在文件前加上

Bom

头。(就是写入文件前先写入三字符)

如果只是给 Excel 使用,并且在大陆使用,你可以直接把文件写成

GBK

编码。

我測試的結果:

id,url,keywords

0011,http://www.59store.com/,59store.com

0022,http://59data.top/,59data.top

0033,http://my.space.zmx/,汉子乱码?

看起來純文字 file 沒有什麼問題,猜測可能是你用來開啟 csv 文件的試算表軟體造成的.(mac 的

Numbers

OpenOffice Calc

都有這個現象)

比如說,id 欄位的型態如果設為數字,則前面不必要的 0 可能會自動被忽略. 像這一點可以試試看改成純文字型態再開啟.

P.S.

Excel

的部分可以見 玉河CC 大的說明.

要更精準更細節地處理 xlsx 文件,可以用 XlsxWriter,他能夠控制資料的型態(data type),甚至樣式(format).

python数据写入csv会丢失0字头_python csv模块生成CSV文件,0字头数字缺失,汉字乱码...相关推荐

  1. python数据写入CSV

    python代码中将数据写入CSV表格有两种办法:pandas和CSV. 下面我将介绍什么时候适合使用pandas,什么时候适合使用CSV库.主要区别是一个按行存储方便,一个按列存取方便. 1.按列存 ...

  2. python创建csv文件并写入-Python数据写入csv格式文件

    (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...

  3. Python数据写入csv格式文件

    (只是传递,基础知识也是根基) Python读取数据,并存入Excel打开的CSV格式文件内! 这里需要用到bs4,csv,codecs,os模块. 废话不多说,直接写代码!该重要的内容都已经注释了, ...

  4. python xlwt模块生成excel文件并写入数据 xlrd读取数据

    python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...

  5. python xlwt写入excel_python xlwt模块生成excel文件并写入数据 xlrd读取数据

    python中一般使用 xlwt (excel write)来生成Excel文件(可以控制单元格格式),用 xlrd 来读取Excel文件,用xlrd读取excel是不能对其进行操作的. 1.xlrd ...

  6. python数据写入表格生成图片_使用Python制作一个GUI界面,将随机生成的姓名存入到Excel文件中...

    前面内容,我们详细介绍了如何使用Python生成一定数量的随机姓名. 生成一些随机姓名 如何用Python生成若干个随机姓名?男女取名有方法,不能千篇一律 之前,也提到过,我们在一些项目中,需要若干个 ...

  7. python数据写入到excel不同sheet_Python3 pandas库 (32) 将数据写入Excel多个sheet

    在实际使用报表的时候,常常是一个excel文件里面包含多个sheet,这些sheet放在一个文件里面方便管理,也方便阅读. 将数据内容分开存在不同的sheet里面是excel经常遇到的操作.操作多了, ...

  8. python tempfile自动删除_Python tempfile模块生成临时文件和临时目录

    tempfile 模块专门用于创建临时文件和临时目录,它既可以在 UNIX 平台上运行良好,也可以在 Windows 平台上运行良好. tempfile 模块中常用的函数,如表 1 所示. 表 1 t ...

  9. python生成表格文件_python读取和生成excel文件

    1.用python读取csv文件: csv是逗号分隔符格式 一般我们用的execl生成的格式是xls和xlsx 直接重命名为csv的话会报错: Error: line contains NULL by ...

最新文章

  1. Microsoft Platform SDK Febrary 2003更新vc6的SDK网址
  2. wxpython安装失败_在Windows XP上安装wxPython后,“导入wx”失败
  3. C将十六进制数字字符串转成数字
  4. JSP页面元素,内置对象及request详解
  5. [Unity] 战斗系统学习 6:构建 TPS 框架 2
  6. 一张壁纸就是一段故事,壁纸控的找图不难!
  7. LINUX修改权限modify,linux文件权限查看及修改(实用)(View and modify Linux file permissions (practical)).doc...
  8. 设计模式学习之--Singleton(单例)模式
  9. Java Project项目在Linux下部署步骤及注意事项
  10. nginx配置与常见错误解决方法
  11. 函数名应用,闭包,装饰器初识
  12. CMMI3 和 CMMI 4
  13. 语音合成IC选型之经验分享
  14. 重装系统时,USB接口鼠标和键盘不能使用的解决办法
  15. python 实验七 字典与集合 (下)
  16. 翻译: 巴菲特公式:睡觉比醒来更聪明
  17. 笔记本电脑f11功能键_电脑技巧:键盘上F功能键F1-F12详解
  18. PAT 乙级1068 万绿丛中一点红(20 分)
  19. Linux优秀软件整理 - 摘自Linux 开源中国
  20. 计算机二级ms试题讲解,计算机二级MSOffice考试真题与答案解析(全套)

热门文章

  1. JAVA读取Excel数据
  2. 猜数字游戏c语言原理二进制,第一个c语言实现的猜数字游戏
  3. VMware ESXi 7.0 U3i macOS Unlocker OEM BIOS (标准版和厂商定制版)
  4. 服务和控制器应用CPU占用过高问题
  5. 切入万亿家居市场,国美是要充当“逆袭者”还是“搅局者”?
  6. 程序员专属的免费编程文本编辑器-----PSPad
  7. 11家PaaS公有云供应商服务功能要点比较
  8. 思科Netflow的设置
  9. 设置网络工作组计算机,WINDOWS10如何设置网络工作组
  10. matlab培训2018年暑假,2016暑假建模培训Matlab小作业