У меня есть CSV-файл с строкой 1 в качестве заголовков, столбец 1 (A) - это имя файла, которое я ищу, например. i_suck_at_python.xlsx и столбец 2 (B) - это имя папки, в которую я хочу переместить ее, например. Лекс сосет у Питона.
Я сделал подобное на Openpyxl, за исключением того, что мне удалось сделать это только в одной строке.
Вот мой код ниже. Ваша помощь приветствуется.
Кроме того, у меня было огромное количество проблем с кодировкой, в частности, эта строка:
with open(csv_file, 'r') as f:
Файл изначально был xlsx, но потом мне пришлось сохранить его как csv. «r» раньше был «rb», потом я прочитал, что мне пришлось изменить его, а также особенности кодирования, но безрезультатно.
В любом случае, вот код для актуальной проблемы:
import csv
import os
import shutil
def main():
csv_file = "G:\Key Accounts\Ebills\Lex Bot Test\Test 2\EB Mapping.csv"
existing_path_prefix = "G:\Key Accounts\Ebills\Lex Bot Test\Test 2\PDFs"
new_path_prefix = "G:\Key Accounts\Ebills\Lex Bot Test\Test 2\PDFs"
with open(csv_file, 'r') as f:
reader = csv.reader(f)
for row in reader:
file_name = row[0]
folder_name = row[1]
newFolderPath = os.path.join("G:\Key Accounts\Ebills\Lex Bot
Test\Test 2\PDFs", folder_name)
existingFilePath = os.path.join("G:\Key Accounts\Ebills\Lex Bot
Test\Test 2\PDFs", file_name)
if file_name in existing_path_prefix:
print ("File Exists in: {}".format (existing_path_prefix))
shutil.move(existingFilePath, newFolderPath)
print ("File successfully moved")
break
else:
print ("There has been a problem")
main ()
Код выполняется, но он просто переходит к моему утверждению else, означающему, что он не собирает файлы в папке. Еще раз спасибо.
Думаю, я должен упомянуть, что я счастлив, если кто-то предложит сделать это совершенно иначе, например, Панды, numpy, openpyxl, xlrd и т. Д.
Редактировать: Итак, я хочу найти файл в A2, и, когда он будет найден, переместить его в папку в B2, а затем перейти к следующей строке до конца файла. Папка (и) уже существует в том же каталоге, что и файл .xlsx. Пример строки из файла CSV:
File Name Folder Name
i_suck_at_python.xlsx Lex sucks at Python
python_test.xlsx Python Test