【Python】读取excel文件的时候,遇到“Excel file format cannot be determined”的问题

Python3.8

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

使用os.path 读取路径下的文件,并拼接文件名,可能会遇到这个问题:

ValueError: Excel file format cannot be determined, you must specify
an engine manually.

因为我用的是相对路径的拼接的方法,读取出来会有这样的问题:

读取出来的文件路径是:

~$文件名.xlsx

文件前面有~$这样的符号,导致读取出来的文件名字是乱码的。

我读取文件的写法如下:

import os

# 提取目录部分的路径入口
dir_path = os.path.dirname(full_path)

# 定义新的文件名
new_file_name = "new_example.txt"

# 拼接新的文件路径,路径+文件名
file_path= os.path.join(dir_path, new_file_name)

# 检查文件是否存在
if os.path.exists(file_path):
    # 使用 with 语句打开文件
    with open(file_path, 'r') as file:
        content = file.read()
        print(content)
else:
    print(f"文件 {file_path} 不存在")

解决方法:

导致上面的问题,可能是我们在python里读取excel文件的时候,也同时手动打开了这个文件。

于是生成了不属于这个文件夹下的一个隐藏文件,并且把它读进去了。

我们可以在文件所在的路径下,看到一个【隐藏的项目】的选项,点进去看看是否有个“幽灵文件” 就可以了。

关闭打开的文件,再重新运行程序看看能不能解决?
https://i-blog.csdnimg.cn/direct/b0c5cecaf49b467ca77505c02238507c.png)

如果还是有这个问题的话,可以在python中,读取路径下所有文件时,排除读取隐藏文件的方法,就可以简单避免这个问题了

代码如下:

import os

# 设置你的目录路径
dir_path = 'your/directory/path'

# 遍历目录下的所有文件和目录
for entry in os.listdir(dir_path):
    # 构建完整的文件或目录路径
    full_path = os.path.join(dir_path, entry)
    
    # 检查这是否是一个隐藏文件或目录
    if not entry.startswith('.'):
        # 这里可以处理非隐藏文件或目录
        if os.path.isfile(full_path):
            print(f'File: {full_path}')
        elif os.path.isdir(full_path):
            print(f'Directory: {full_path}')

或者改用读取绝对路径的方法打开excel的方法来试试看!

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值