python csv模块省略第一个字母'0'

时间:2017-02-15 07:25:45

标签: python csv

我正在尝试通过csv模块生成csv文件。

问题是导出的csv文件包含第一个字母'0'省略的行。

代码:

import csv
from django.utils.encoding import smart_str
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename=customer_email_who_reserved.csv'
writer = csv.writer(response, csv.excel)
writer.writerow([
    smart_str(u"email"),
    smart_str(u"phonenumber"),
])
for obj in queryset:
    writer.writerow([
        smart_str(obj.email),
        '010',
    ])

奇怪的是,phonenumber行的输出是“10”而不是“010”。

如何解决此问题?

提前致谢!

1 个答案:

答案 0 :(得分:1)

如果您使用Excel打开CSV文件,前导零可能会消失,而Excel正试图巧妙地猜测单元格格式。使用文本编辑器查看csv.writer真正生成的内容。将制表符前置于智能Excel,因此数字字符串显示为文本。