Записать Dataframe + Dynami c имя файла в CSV с путем вывода - PullRequest
0 голосов
/ 30 мая 2020

Я знаю, что ответ прост и где-то там, но я не могу его найти. Как следует из названия, я пытаюсь записать pandas DF с именем файла c Dynami в формате .csv в выходной каталог с заданным путем. Вот мой код ошибки ниже. Спасибо, за любые предложения, и я готов сделать это другим или c способом, если это возможно.

runfile('C:/Users/U321103/.spyder-py3/Read_VORTEX_test_files.py', wdir='C:/Users/U321103/.spyder- 
py3')
klondikeii.Vortex_WIND.csv
Traceback (most recent call last):
File "C:\Users\U321103\.spyder-py3\Read_VORTEX_test_files.py", line 29, in <module>
c.to_csv(Path(p + filename ), index=False)
TypeError: unsupported operand type(s) for +: 'WindowsPath' and 'str'

Мой код выглядит так:

from sys import exit
import pandas as pd
from pathlib import Path

# Create a dataframe from csv
df = pd.read_csv("\\\porfiler03\\gtdshare\\VORTEX\\VALIDATION\\vortex_links.txt", delimiter=',')
# User list comprehension to create a list of lists from Dataframe rows
list_of_rows = [list(row) for row in df.values]
# Print list of lists i.e. rows
#print(list_of_rows)

var = df.variable.to_frame() #extract wind or power from df 'variable' column
#Find farm_data = farm_vortex cases
#for k in range(0,len(df)):
for k in range(0,1):
  if (( df.farm_data[k] == df.farm_vortex[k]) and var.variable[k] == 'wind'):
    #print('chinook = vortex data')
    c = pd.read_csv(df.link[k])#dataframe with vortex wind data
    filename = df.farm_data[k] + '.' + 'Vortex_WIND' + '.csv'
    print(filename)
    #save the data to a csv_file.
    p = Path('///porfiler03//gtdshare//')
    c.to_csv(Path(p + filename ), index=False)
exit()

1 Ответ

1 голос
/ 30 мая 2020

Удалить путь () из '///porfiler03//gtdshare//'.

В p + filename вы пытаетесь объединить, чтобы создать полный путь. Вы можете сделать это для двух строк, но не для строки и пути, и именно об этом сообщает ошибка. Попробуйте:

p = '///porfiler03//gtdshare//'
c.to_csv(Path(p + filename ), index=False)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...