我的问题陈述是查找导入的文件是熊猫中的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?
任何帮助将不胜感激
答案 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)