python采集数据保存csv, 文件内容乱码了怎么解决?

如果你的 Python 程序采集到的数据在保存成 CSV 格式的文件时出现了乱码,那么可尝试以下解决方法:

1. 在打开 CSV 文件时指定编码方式

你可以使用 Python 中的 open() 函数打开 CSV 文件,并在 open() 函数中指定文件编码方式为 CSV 文件原始编码方式。如果 CSV 文件原始编码方式为 UTF-8,则可以在 open() 函数中指定编码方式为 "utf-8-sig"。示例代码如下:

import csv

with open('output.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['列1', '列2'])
    writer.writerow(['a', '1'])
    writer.writerow(['b', '2'])
# Python学习交流裙:708525271

 

在这个示例中,我们打开 output.csv 文件,并将编码方式指定为 "utf-8-sig",并使用 csv.writer() 函数向文件中写入数据。

2. 将数据转换成 Unicode 编码

在将数据写入 CSV 文件之前,将数据转换成 Unicode 编码也是一种常见的解决方法。你可以使用 Python 中的 unicode() 函数将字符串类型的数据转换成 Unicode 编码,示例代码如下:

import csv

with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow([unicode('列1', 'utf-8'), unicode('列2', 'utf-8')])
    writer.writerow([unicode('a', 'utf-8'), unicode('1', 'utf-8')])
    writer.writerow([unicode('b', 'utf-8'), unicode('2', 'utf-8')])

 

在这个示例中,我们将字符串类型的数据使用 unicode() 函数转换成 Unicode 编码,然后使用 csv.writer() 函数向文件中写入数据。

posted @ 2023-09-12 16:27  轻松学Python  阅读(297)  评论(0编辑  收藏  举报