【发布时间】:2011-09-14 12:55:30
【问题描述】:
我在之前的问题中得到了一些帮助,但这是一个完全不同的问题,所以我认为最好是一个新问题......
每月一次我需要解析一个非常大的 CSV 文件,我通常会在 Excel 中手动完成,但我现在想在 Python 中自动完成。
CSV 的结构如下:
[IDNUMBER],[DATE1],[DATE2],[DATE3],[STRING-OF-WHAT-HAPPENED],[DATE3 - DATE2 IN DAYS],[ORIGINAL-FILENAME]
我需要的基本上是以下内容的打印显示(或文件,但我不需要保留这些数据,我只是将其插入一些图表):
对于每个原始文件名(最多 1200 行),我需要 [DATE3 - DATE2 IN DAYS] 的平均值。例如:
12345,2011-06-12,2011-07-01,2011-07-2,1,['1100.csv']
54321,2011-06-12,2011-07-01,2011-07-3,2,['1100.csv']
23452,2011-06-12,2011-07-01,2011-07-4,3,['1100.csv']
平均值为 2,我需要知道这个数字,知道每个文件有多少也会很有帮助,在本例中为 3。
然后移动到下一个原始文件名(行中的最后一项),直到 CSV 结束。
在 excel 中,我会使用自动过滤器并选择该列中的每个列表,然后选择 [date3 - date2] 列并获得平均值,但这有点乏味且耗时。
谢谢!
【问题讨论】:
-
你有什么问题?
csv模块对此很有用。但我看到你已经从your earlier question 知道了。 -
对不起。我不确定如何告诉它“对所有 original_file1 执行此操作,然后对所有 original_file2 执行相同操作,因为它们没有设置我可以手动编码的变量。每个月它可能是不同的值。
-
前面的问题也解释了
glob模块是干什么用的…… -
我的印象是 glob 用于路径名匹配,而不是匹配单个文件中的模式。所有这些值都在一个文件中(作为第一个问题中所有其他文件的输出)。现在我需要浏览该单个文件并执行上面列出的其他操作。如果最好重新编写程序以输出到多个文件,我可以这样做,但我认为最好使用一个文件。我不知道如何在这种情况下使用 glob(所有数据现在都在一个文件中)。我正在尝试学习如何使用 Python,但显然对它不是很有经验。
-
哦,是的,对不起,我之前确实看过数据,但我忘了里面有文件名。
标签: csv python-3.x average