Если строка содержится в имени файла, то добавьте значение в столбец (python 3) - PullRequest
0 голосов
/ 07 ноября 2018

Я пытаюсь добавить столбец месяца со значениями в существующий файл Excel (xlsx). С помощью оператора if предполагается добавить определенный месяц на основе строки в имени файла. Несмотря на то, что я не получаю сообщение об ошибке, похоже, у моей функции есть проблема с поиском имени файла (однако оно работает, если я делаю что-то вроде 'if "jan" в "monthjanmonth").

sale14_file = pd.read_excel("sales-jan-2014.xlsx")
File_Name = glob.glob("sales-jan-2014.xlsx")

# adding date as first column
def AddingDate():
    if "jan" in File_Name:
        CustomMonth = "January"
        sale14_file.insert(0, "Date", CustomMonth)

AddingDate()

IDE: pycharm

Python версия: 3.0

Windows 7

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018
file_handler = open('sales-jan-2014.xlsx','w')
file_handler.close()

File_Name = glob.glob("sales-jan-2014.xlsx")
type(File_Name)
print('{0}'.format(File_Name))


x = "jan" in File_Name
print('{0}'.format(x))

x = "jan" in str(File_Name)
print('{0}'.format(x))

x = "jan" in File_Name[0]
print('{0}'.format(x))

результат

['sales-jan-2014.xlsx']
False
True
True

Это список :) вам нужно использовать str () или изменить свой код

0 голосов
/ 07 ноября 2018

Только сам разобрался с ответом. Пришлось добавить "str" ​​в переменную имени файла.

File_Name = str(glob.glob("sales-jan-2014.xlsx"))

вместо

File_Name = glob.glob("sales-jan-2014.xlsx")
...