【发布时间】:2015-06-02 20:52:24
【问题描述】:
我编写了一个脚本,它从网页收集链接列表,然后从每个链接中抓取一个包含数据的表格,这些都可以正常工作。
我的下一项工作是将表格重组为对我的最终目标更有意义的安排。我什至不确定我想要做什么,所以我会尝试用一个例子来解释。
我使用上述练习创建了 50 个奇怪的文件,如下所示:
Identifier, Data1, Data2, Data3
abc,x,x,x
def,x,x,x
ghi,x,x,x
我希望每个数据头都与它的值一起成为表格的一部分,如下所示:
Identifier, Measure, Value
abc, Data1, x
def, Data1, x
ghi, Data1, x
abc, Data2, x
def, Data2, x
ghi, Data2, x
abc, Data3, x
def, Data3, x
ghi, Data3, x
abc, Data4, x
def, Data4, x
ghi, Data4, x
手动执行此操作非常简单,但在处理 30-50 个文件时可能会有点乏味(而且这是我每隔几个月就必须执行的任务)。我不确定将我的工作表合并在一起会更快(但有些工作表包含额外的标题),单独执行此任务,然后在抓取数据时将它们合并甚至按我想要的方式构建数据。
希望这是有道理的。任何帮助将不胜感激,我很乐意澄清任何事情!谢谢。
【问题讨论】:
-
你觉得使用 pandas 做这件事怎么样?我认为这将是一个不错的选择
-
没关系,我刚刚看到你在这个中标记了 pandas
-
我对库的类型做了一些研究,pandas 似乎是最受欢迎的:)。只是不确定执行此操作的实际过程是什么!
-
是的,对于这种类型的事情,我喜欢循环通过一个 glob 对象并读取 csvs,然后执行 concat() 以将其放入一帧。然后你可以像下面的答案一样使用 melt()
标签: python python-2.7 csv pandas beautifulsoup