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'])
在这个示例中,我们打开 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()
函数向文件中写入数据。