记一次python写入txt文件正常,但是写入csv文件中文乱码问题

在尝试将TXT文件批量转换为CSV格式时,遇到汉字显示为乱码的问题。通过修改文件打开方式和编码设置,最终成功解决乱码问题。分享了解决此问题的代码片段和一个简单TXT转CSV的脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在将已经爬取完存成txt文件批量导入保存csv格式时,文本中的汉字能够正常正常显示,但是用正常的方法保存到csv中就成了乱码。
最开始的写法:

                    with open(city+'.csv','a+') as csv_file:
                        csv_file.write(line)

打开文件发是乱码,于是又重新改写增加

encoding='utf-8')                  

满心欢喜的去看生成的文件,但是又一次的让我失望而归,后来没办法去网上到处找资料 ,终于让我找到了方法,就是将原来的

'utf-8' 换成 'utf-8-sig'

代码如下

 with open(city+'.csv','a+',encoding='utf-8-sig') as csv_file:
                        csv_file.write(line)

这次果然成功了,不知道具体原因是什么,但是却实现了我想要的效果。
下面放出我写的简单的将当前目录下的所有txt文件转成 csv文件的代码,此代码会自动根据相应的文件夹名字保存csv文件的名称 并保存,写的不是很完善,有大佬看到的话,多多指教。
源码:

import csv
import os

root_path =os.path.dirname(os.path.abspath(__file__))+'\山东省'
# print(root_path)
city_list=os.listdir(root_path)
# print(city_list)
for city in city_list:
   # print(city)
   city_path=os.path.join(root_path,city)
   # print(city_path)
   for i in range(32)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值