文本读取显示编码问题(包括open和pd.read_csv)

本文详细解答了Python中常见的编码问题,包括读取文本文件出现UnicodeDecodeError、print输出乱码以及使用pd.read_csv读取中文文件名时的报错情况。提供了具体的解决方案,如加入encoding参数、调整编码格式及使用正确的引擎。

Q1:读取文本文件出现UnicodeDecodeError

A1:加入encoding='UTF-8'

 

Q2:print出来乱码

A2:dos print不支持utf-8,改为ascii编码即可,python只支持utf-8

 

Q3:pd.read_csv读取中文文件名文件报错

A3:pd.read_csv(,engine='python') or pd.read_csv(open(file_name))

在Python中,`csv.reader()``pd.read_csv()`都可用于读取CSV文件,但使用方法应用场景有所不同。 ### 使用方法 #### csv.reader() `csv.reader()`是Python内置`csv`模块中的函数,适合简单的CSV文件读取任务。使用时,需先打开CSV文件,再将文件对象传递给`csv.reader()`函数,该函数返回一个reader对象,可遍历CSV文件中的行,每行作为字符串列表返回。示例代码如下: ```python import csv with open('test.csv', encoding='utf-8') as text: row = csv.reader(text, delimiter=',') for line in row: print(line) ``` #### pd.read_csv() `pd.read_csv()`是`pandas`库中的函数,适合复杂的数据分析处理任务,提供强大的数据操作功能便捷接口,返回一个DataFrame对象。示例代码如下: ```python import pandas as pd data = pd.read_csv('file.csv') ``` 还可根据需求使用不同参数,如指定分隔符、设置列名、读取行数等: ```python data = pd.read_csv('./result.csv', sep=',') data = pd.read_csv('./result.csv', header=None, prefix='XX') data = pd.read_csv('./result.csv', nrows=4) ``` ### 区别 - **功能特性**:`csv.reader()`轻量,需手动处理数据;`pd.read_csv()`提供强大的数据操作功能便捷接口,可直接对DataFrame进行数据分析处理[^3]。 - **返回对象**:`csv.reader()`返回reader对象,遍历行时每行作为字符串列表返回;`pd.read_csv()`返回DataFrame对象,便于进行数据处理分析[^3]。 - **适用场景**:`csv.reader()`适合简单的CSV文件读取任务;`pd.read_csv()`适合复杂的数据分析处理任务[^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值