我知道答案很简单,而且就在某个地方,但我似乎找不到它。正如我的标题所暗示的那样,我正试图将一个动态文件名为.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()
从'/porfiler03/gtdshare/'中删除Path()。
在p+文件名中,你试图连接创建完整的路径。你可以对两个字符串这样做,但不能对一个字符串和一个路径这样做,这就是错误告诉你的。
p = '///porfiler03//gtdshare//'
c.to_csv(Path(p + filename ), index=False)