【发布时间】:2018-03-20 23:53:03
【问题描述】:
我有一个大的 excel 文件,其中 A 列的每个单元格中都有随机数,用于该 excel 表中的所有 100 万多行。我正在尝试在 B 列中打印每个值的出现次数。通常,我在 Excel 本身中执行此操作,首先对数据进行排序,然后使用 COUNTIF 公式。但由于我有这么多行(100 万行),因此在 B 列的所有行中复制粘贴公式似乎不起作用。 Excel 需要永远计算并且经常挂断。我现在想尝试用 Python 来做这件事。
非常感谢任何让我入门的想法!
更新: 这是我尝试过的:
import csv
import collections
with open ('test.csv','rb') as f:
reader = csv.reader(f)
my_list = list(reader)
#print my_list[1000]
counter = collections.Counter(my_list)
print counter
但我得到 TypeError: unhashable type: 'list'
谁能帮忙?
【问题讨论】:
-
我会将其转换为 csv,然后使用库
csv对其进行解析,提取列(例如使用列表理解),然后使用集合中的Counter类 -
还有Python库可以直接读取Excel文件。熊猫可能很适合stackoverflow.com/questions/3239207/…
-
那么你有一个csv文本文件还是一个excel文件?
-
另外,请修正你的缩进。