ValueError: Неверный путь к файлу или тип объекта буфера: <class 'tuple'> - PullRequest
0 голосов
/ 25 марта 2019

я новичок в python ad и пытаюсь полуавтоматизировать импорт в YNAB.

Это работает, если я использую "askopenfilename" и делаю каждый раздел csv, но я не могу заставить его работать с именами askopenfile и внутри forЭлемент в цикле.

Затем я получаю следующее сообщение об ошибке: ValueError: Неверный путь к файлу или тип буфера объекта:

Прилагается код питона:

import pandas as pd
import numpy as np
from tkinter import filedialog
from tkinter import *
root = Tk()
root.filenames = filedialog.askopenfilenames(initialdir="C:/Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/", title="Select file",
                                           filetypes=(("csv files", "*.csv"), ("all files", "*.*")))
print(root.filenames)
for item in root.filenames:
    print(item)
from pandas.core.tools.numeric import to_numeric
df = pd.read_csv(root.filenames, sep=';', usecols=(0, 1, 2, 3, 4),
                 encoding='utf-8', decimal=',')
df.columns = ['Date', 'Payee', 'Verwendungszweck', 'Buchungstext', 'Betrag']
df['Memo'] = df[['Buchungstext', 'Verwendungszweck']].apply(lambda x: ' -- '.join(x), axis=1)
Betrag = df.Betrag.astype(int)
df['Inflow'] = np.where(df.Betrag > 0, df.Betrag, "")
df['Outflow'] = np.where(df.Betrag < 0, df.Betrag * (-1), "")
path = (root.filenames.replace('Download_Finanzblick', 'Converted_YNAB')[:-4] + '-converted.csv')
print(path)
df.to_csv(path, sep=';', index=False,
          columns=['Date', 'Payee', 'Memo', 'Inflow', 'Outflow'], decimal='.')
next(item)

иСообщение об ошибке:

"C: \ Program Files (x86) \ Microsoft Visual Studio \ Shared \ Anaconda3_64 \ python.exe" "C: / Users / dangeph / Repository / Finanzblick YNAB / Testfile.py"('C: / Users / dangeph / Desktop / Favoriten / Privat / YNAB / Download_Finanzblick / 2019_YY / Amazon - Kopie.csv', 'C: / Users / dangeph / Desktop / Favoriten / Privat / YNAB / Download_Finanzblick / 2019_YY / Amazon- Kopie-convert.csv ',' C: /Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/Amazon.csv ',' C: / Users / dangeph / Desktop / Favoriten / Privat / YNAB / Download_Finanzblick/2019_YY/Amazon-converted.csv ',' C: / Users / dangeph / Desktop / Favoriten / Privat / YNAB / Download_Finanzblick / 2019_YY / DB.csv ',' C: /Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/DiBA.csv ',' C: / Users / dangephFavoriten / Privat / YNAB / Download_Finanzblick / 2019_YY / DKB.csv ',' C: /Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/DKB-Visa.csv ',' C: / Users / danРабочий стол / Favoriten / Privat / YNAB / Download_Finanzblick / 2019_YY / Paypal.csv ',' C: /Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/VB.csv ') C: / Users / dange/ Favoriten / Приват / YNAB / Скачать_Finanzblick / 2019_YY / Amazon - Kopie.csv C: / Users / dangeph / Рабочий стол / Favoriten / Приват / YNAB / Download_Finanzblick / 2019_YY / Amazon - Kopie-convert.csv C: / Пользователи / dangeph / Рабочий стол/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/Amazon.csv C: /Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/Amazon-converted.csv C: / Users / Privatge Fange/YNAB/Download_Finanzblick/2019_YY/DB.csv C: / Users / dangeph / Desktop / Favoriten / Privat / YNAB / Download_Finanzblick / 2019_YY / DiBA.csv C: /Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/DKB.csv C: / Пользователи / dangeph / Desktop / FavoritN / Privaten / PrivatDownload_Finanzblick / 2019_YY / DKB-Visa.csv C: /Users/dangeph/Desktop/Favoriten/Privat/YNAB/Download_Finanzblick/2019_YY/Paypal.csv C: / Пользователи / dangeph / Рабочий стол / Favoriten / Privat / 201_in_yyByNYBYYNABVB.csv Traceback (последний вызов был последним): Файл "C: / Users / dangeph / Repository / Finanzblick YNAB / Testfile.py", строка 21, в кодировке = 'utf-8', десятичный = ',') Файл "C: \ Program Files (x86) \ Microsoft Visual Studio \ Shared \ Anaconda3_64 \ lib \ site-packages \ pandas \ io \ parsers.py ", строка 678, в parser_f вернуть _read (filepath_or_buffer, kwds) Файл" C: \ ProgramФайлы (x86) \ Microsoft Visual Studio \ Shared \ Anaconda3_64 \ lib \ site-packages \ pandas \ io \ parsers.py ", строка 424, в _read filepath_or_buffer, кодировка, сжатие) Файл" C: \ Program Files (x86) \Microsoft Visual Studio \ Shared \ Anaconda3_64 \ lib \ site-packages \ pandas \ io \ common.py ", строка 218, в get_filepath_or_buffer поднять ValueError (msg.format (_type = type (filepath_or_buffer)))) ValueError: неверный путь к файлу или тип объекта буфера:

Процесс завершен с кодом выхода 1

...