【问题标题】:Write Dataframe + Dynamic Filename to CSV with Output Path使用输出路径将数据框 + 动态文件名写入 CSV
【发布时间】:2020-09-17 13:16:37
【问题描述】:

我知道答案很简单,而且在某个地方,但我似乎找不到。正如我的标题所暗示的,我正在尝试将具有 .csv 格式的动态文件名的 pandas DF 写入给定路径的输出目录。下面是我的错误代码。 感谢您的任何建议,如果可能的话,我愿意以不同的或 Python 的方式来做这件事。

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()

【问题讨论】:

  • c.to_csv(p.joinpath(filename), index=False)

标签: python csv path filenames


【解决方案1】:

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

在 p + 文件名中,您尝试连接以创建完整路径。您可以对两个字符串执行此操作,但不能对一个字符串和一个路径执行此操作,这就是错误告诉您的内容。 试试:

p = '///porfiler03//gtdshare//'
c.to_csv(Path(p + filename ), index=False)

【讨论】:

    猜你喜欢
    • 2021-02-16
    • 2021-06-01
    • 1970-01-01
    • 2020-12-16
    • 1970-01-01
    • 1970-01-01
    • 2017-05-29
    • 2017-06-03
    • 1970-01-01
    相关资源
    最近更新 更多