700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > ValueError: embedded null character 和 FileNotFoundError: [Errno 2] No such file or directory 错误处理

ValueError: embedded null character 和 FileNotFoundError: [Errno 2] No such file or directory 错误处理

时间:2021-09-04 10:57:41

相关推荐

ValueError: embedded null character 和  FileNotFoundError: [Errno 2] No such file or directory 错误处理

今天学习东西是从一个Excel文件中取出一个单元格的数据,并打印出来。对比cell 和 cell_vavalue 的不同。

源程序如下:

import xlrdfilename = "D:\python\pythonProject\000001.xlsx"book = xlrd.open_workbook(filename, encoding_override="utf-8")text = book.sheets()for book in text:sheet_name = [book.name]sbs = book.cell(1, 0)print(sbs)sbs = book.cell_value(1, 0)print(sbs)print(sheet_name)

运行程序时候,出现如下错我

Traceback (most recent call last):

File “D:\python\pythonProject\测试-1.py”, line 4, in

book = xlrd.open_workbook(filename, encoding_override=“utf-8”)

File “C:\Users\ThinkPad\AppData\Local\Programs\Python\Python39\lib\site-packages\xlrd_init_.py”, line 111, in open_workbook

with open(filename, “rb”) as f:ValueError: embedded null character

查了一下,ValueError: embedded null character的意思是:嵌入的值错误:空字符

实在搞不明白这个错误怎么回事,

然后我尝试打开其他文件

filename = "D:\python\pythonProject\股票数据汇总.xlsx"

完美,完全可以运行。

看样程序代码没有什么问题。再回去运行000001.xlsx还是不行,然后我把 股票数据汇总.xlsx 改为000001.xlsx,然后运行程序,结果又不行了,我感觉问题出现在文件名上,然后,我将文件名改为1234.xlsx,运行出现如下错误:

Traceback (most recent call last):

File “D:\python\pythonProject\测试-1.py”, line 4, in

book = xlrd.open_workbook(filename, encoding_override=“utf-8”)

File “C:\Users\ThinkPad\AppData\Local\Programs\Python\Python39\lib\site-packages\xlrd_init_.py”, line 111, in open_workbook

with open(filename, “rb”) as f:

FileNotFoundError: [Errno 2] No such file or directory: ‘D:\python\pythonProjectS4.xlsx’

反复查找,在源文件上有这样一个提示

百度一下,找找别人的经验,终于明白,文件名称出现了问题。怎么解决???

单反斜杠“\”改为双反斜杠“\\”

问题解决了。

filename = “D:\python\pythonProject\000001.xlsx”

更改为

filename = “D:\python\pythonProject\\000001.xlsx”

运行程序,完美解决。

更改为 filename = “D:\\python\\pythonProject\\000001.xlsx” 更完美,连灰色波浪线都没有了。

为什么这样?还不理解,但是问题解决了,

这个错误仅出现在用数字命名的文件名上,英文字母、汉字命名的文件,没有这个问题。

程序运行结果

000001.xlsx文件的内容

运行结果

text:‘000002(万 科A)’

000002(万 科A)

[‘Sheet1’]

这里可以发现

.cell 返回的是单元格里面的所有内容,包括单元格格式定义:text:‘’+单元格内容

.cell_value 返回的是单元格里面的显示内容,仅单元格内可视内容。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。