将数据写入csv文件时,在windows电脑中打开使用乱码错行,mac电脑打开没有任何问题 。
所以问题应该是编码不同导致的。文本中包含了中文、表情字符集等,无论使用 utf-8 还是 gkb 编码都有问题。
最终使用 utf-8-sig 编码完美解决问题。
with open(file=file, mode=mode, encoding='utf-8-sig', newline='', errors='ignore') as f:
f.write(datas)
解决前:
解决后:
案例:将8W+条数据每1000条导出到一个excel中
import csv
def write_to_csv(file, csv_header=None, values=None, data_type='tuple', mode='w'):
"""
写入数据到csv到文件中
:param headers: 表头:列表类型
:param values: 表数据:1.嵌套元组的列表;2.嵌套字典的列表
:param data_type: 传入的数据类型:1.'tuple';2.'dict'
:param mo