我想检查传入文件(导入的文件)是否为python中的.csv或.xls或.xlxs

时间:2019-05-29 11:40:53

标签: python excel pandas csv

我的问题陈述是查找导入的文件是熊猫中的CSV还是EXCEL文件。输入将从命令行作为sys.argv [1]给出,其中sys.argv [1]为'D:/ Users / abc'

当在命令行中将路径和文件名作为参数给出时,我必须在脚本中检查sys.argv [1]是CSV还是EXCEL文件

例如:python myscript.py D:/ Users / abc [abc是文件名]

这应该说明文件是CSV还是EXCEL

我尝试从下面的链接中引用答案,但找不到确切的答案!

How to check the uploaded file is csv or xls in python?

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

由于您以文件名“ abc”为例,因此我假设您无法基于扩展名决定文件类型。有多种方法可以在文件的标题中查找魔术字符串,但这很难做到万无一失。

但是,it is easier to ask for forgiveness than permission。因此,为什么不仅仅假定它是一个excel文件,则尝试使用pd.read_excel来读取它,如果失败,则使用pd.read_csv来读取它:

import pandas as pd
import sys
try:
    df = pd.read_excel(sys.argv[1])
    filetype = 'EXCEL'
except Exception:
    df = pd.read_csv(sys.argv[1])
    filetype = 'CSV'
print(filetype)