【发布时间】:2023-03-12 06:28:01
【问题描述】:
我正在尝试遍历包含一堆 .csv 文件的指定文件夹。目的是收集每个文件中列出的三个指标,将它们相加,然后将其输出到一个合并的、即将由 python 生成的 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]
希望我已经提供了所有有用的信息,很乐意提供其他任何信息。
提前致谢!
【问题讨论】:
-
你的意思是增加count,然后使用(1+count)作为results_output.gross_revenue的索引吗?即..您本质上是递增两次(只有一次递增是永久的)
标签: python python-2.7 loops csv pandas