将数据框+动态文件名写入CSV,并带有输出路径。

问题描述 投票:0回答:1

我知道答案很简单,而且就在某个地方,但我似乎找不到它。正如我的标题所暗示的那样,我正试图将一个动态文件名为.csv格式的pandas DF写入一个给定路径的输出目录。下面是我的错误代码如下。谢谢大家 如果有可能的话,我愿意用不同的方式或者pythonic的方式来实现。

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()
python csv path filenames
1个回答
1
投票

从'/porfiler03/gtdshare/'中删除Path()。

在p+文件名中,你试图连接创建完整的路径。你可以对两个字符串这样做,但不能对一个字符串和一个路径这样做,这就是错误告诉你的。

p = '///porfiler03//gtdshare//'
c.to_csv(Path(p + filename ), index=False)
© www.soinside.com 2019 - 2024. All rights reserved.