【发布时间】:2019-12-20 00:32:28
【问题描述】:
我正在使用 pandas 库来读取文件夹中的 30 个 csv 文件。以下是位于路径中文件夹“deg_pvsyst_runs”中的文件的名称 S:/Home/deg_pvsyst_runs/:
文件命名为:
"Energy_Base_Year00_-0.6%modqual.csv", "Energy_Base_Year01_-0.3%modqual.csv", ......, "Energy_Base_Year30_-8.4%modqual.csv
我想从上面的文件名中附加名为 "Year" 和 "Degradation" 的列表。
“年份”应该是个位数 0,1,2,...,30 AND “退化”应该是 -0.6, -0.3,0,...,8.1 分别来自文件“Energy_Base_Year00_-0.6%modqual.csv”、“Energy_Base_Year01_-0.3%modqual.csv”、...、“Energy_Base_Year30_-8.4%modqual.csv”。
我的代码如下:
import os, csv, re
import pandas as pd
Year =[]
Degradation = []
cwd = os.getcwd()
csv_files = [f for f in os.listdir(cwd + '\\' + 'deg_pvsyst_runs') if f.endswith('.csv')]
for i,j in enumerate(csv_files):
Year.append(csv_files[i].split("_Year")[1].split("_")[0])
Degradation.append(csv_files[i].split("_")[1].split("modqual")[0])
最终,我想在名为“results.csv”的 csv 中打印结果,如下所示(仅显示 2 行,每行 30 行):
[编辑]:
I am getting output
Year as ['00','01'...'30'] and Base as ['Base'.'Base'...'Base']
Whereas I want output as
Year as ['0','1',...,'30'] and Base as ['-0.6','-0.3','0',...,'8.4']
【问题讨论】:
-
您遇到了什么问题?请列出错误或改写您的问题。
-
@Poojan 我只是在最后添加了更多行以显示我的错误。
-
您的文件夹名称的格式和长度是否一致?如果是这样,您可以使用简单的切片表示法。
标签: python pandas list csv append