我试图循环遍历指定的文件夹,其中包含一堆.csv文件。目的是收集每个文件中列出的三个度量标准,将其添加并输出到合并的,即将生成的python csv文件中的一行中。循环访问csv文件并将计算结果输出到一个整合的csv文件
这是我的代码:
import pandas as pd
import os
results_output = pd.DataFrame(index = None, columns=["gross_revenue","impressions","bid_requests"])
filenames = os.listdir("Z:/some/folder/path")
count = 0
for file in filenames:
file_path = "Z:/some/folder/path/" + file
data = pd.read_csv(file_path,skiprows=[0])
data.columns = ["product1_gross_revenue","product2_gross_revenue","product3_gross_revenue"]
gross_revenue = (data.product1_gross_revenue[0] + data.product2_gross_revenue[0] + data.product3_gross_revenue[0])
if gross_revenue > 0:
count += 1
results_output.gross_revenue[1+count] = [gross_revenue]
results_output.to_csv("data.csv",index=False,header=False)
这是错误:
Traceback (most recent call last):
File "test.py", line 16, in <module>
results_output.gross_revenue[1+count] = [gross_revenue]
File "C:\Python27\lib\site-packages\pandas-0.14.1-py2.7-win3
, in __setitem__
values[key] = value
IndexError: index 2 is out of bounds for axis 0 with size 0
我可以在控制台上打印出所有的收入项目,所以我知道它是通过每一个文件正确计算,并生成一个“data.csv”文件,但它仍然在0kb,并没有写入任何内容,所以我怀疑这是我犯了一个错误的地方。
这就是我希望我的“data.csv”文件看起来像:
0 gross_revenue[file1]
1 gross_revenue[file2]
2 gross_revenue[file3]
3 gross_revenue[file4]
4 gross_revenue[file5]
5 gross_revenue[file6]
6 gross_revenue[file7]
希望我提供的所有信息有用位,竭诚为客户提供其他任何东西。
在此先感谢!
您的意思是增加计数,然后使用(1 +计数)为results_output.gross_revenue的索引? ie..you本质上增加了两次(只有一个增量是永久性的) – iLoveTux 2014-11-14 22:29:27