TXT文件读取失败

报错 UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte

这种情况是想要利用pandas读取txt文件时导致出错了,原因是编码方式改变了,正常来说一般都是utf-8的格式,但是这个文件有一些特殊,使用记事本将其打开后,在右下角的位置标记着编码方式,因此我们需要在读取文件的代码中加入encording的内容

df = pd.read_csv(file_path, delimiter='\t', header=None, names=['col1', 'col2', 'col3'],encoding='utf-16 LE'),这个就是我更改的部分,顺利解决了
在C语言中,当尝试打开并读取txt文件时可能会遇到"读取失败"的情况,这通常有以下几个原因: 1. 文件路径错误:确保提供的文件路径是正确的,并且文件确实存在于指定的位置。注意区分文件名、目录名以及可能的大小写差异。 2. 权限问题:检查当前程序是否有足够的权限去访问和读取文件。如果文件位于受保护的目录下,比如需要管理员权限才能访问,那么普通用户就无法成功读取。 3. 文件已被其他进程占用:如果文件正在被另一个进程使用,如编辑器,那么C程序可能暂时无法打开它。 4. 文件损坏或不存在:文件可能因为某些原因损坏,或者文件名输入错误导致找不到对应文件。 5. I/O操作错误:C标准库函数如`fopen()`或`fread()`本身可能出现错误,可以查看返回值判断是否发生I/O错误。 6. 编码问题:对于非ASCII编码的文本文件,如果读取函数默认处理不正确,也可能会引发错误。 要解决这个问题,你可以尝试添加错误检查代码,例如检查`fopen()`的返回值,然后根据错误码采取相应的措施。如果必要,还可以使用`errno`全局变量来获取更具体的错误信息。这里是一个简单的示例: ```c #include <stdio.h> #include <string.h> int main() { FILE *file = fopen("example.txt", "r"); if (file == NULL) { char error[100]; perror("Error opening file:"); strcpy(error, strerror(errno)); printf("Failed to open file: %s\n", error); return 1; } // 然后可以继续尝试读取文件... fclose(file); return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值