Я хотел бы проверить, является ли входящий файл (импортированный файл) .csv или .xls или .xlxs в Python - PullRequest
0 голосов
/ 29 мая 2019

Моя проблема заключается в том, чтобы найти, является ли импортированный файл файлом 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

Я пытался сослаться на ответы по ссылке ниже, но не смог найти именно то, что искал!

Как проверить, что загруженный файл - это CSV или XLS в Python?

Любая помощь будет высоко ценится

1 Ответ

0 голосов
/ 29 мая 2019

Поскольку вы даете имя файла "abc" в качестве примера, я предполагаю, что вы не можете выбрать тип файла в зависимости от расширения. Есть способы найти волшебную строку в заголовке файла, но это будет трудно сделать безошибочным.

Однако, проще просить прощения, чем разрешения . Так почему бы вам просто не предположить, что это файл 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...