在一组数据分析脚本中处理中间CSV文件?

时间:2015-04-10 17:00:33

标签: python data-analysis reproducible-research

我正在进行一次性数据分析练习(使用Python)。演习的各个阶段如下:

  • 将100,000个XML文件转换为CSV
  • 对于CSV文件中的每一行,抓取网页并保存一些额外数据
  • 使用额外数据抓取另一页并保存更多数据
  • 进行一些数据分析

我希望这是可重复的,因为它将与研究论文一起发布。

我已按如下方式构建代码:

main.py
transform.py
scrape_site1.py
scrape_site2.py
analysis.py

两个ScrapeSite类看起来像这样(在伪代码中):

Read CSV file
Use information to find page to scrape
Scrape page
Store data from page into CSV file

然后main看起来像这样:

from transform import XMLTransform
from scrape_site1 import ScrapeSite1
from scrape_site2 import ScrapeSite2
from analysis import Analysis

if __name__ == "__main__":
  # Extract information on each study from the Cochrane XML files.
  ct_transform = XMLTransform()
  ct_transform.parse_data_to_csv(data_directory='data',
                                 output_csv='temp1.csv')

  site1_scaper = ScrapeSite1()
  site1_scaper.read_csv_file(input_csv='temp1.csv', output_csv='temp2.csv')

  site2_scaper = ScrapeSite2()
  site2_scaper.read_csv_file(input_csv='temp2.csv', output_csv='intermediate.csv')

  analysis = Analysis()
  analysis.read_csv_file(input_csv='intermediate.csv', output_csv='final.csv')

但这感觉有点笨拙 - 有没有比保存临时CSV文件更好的办法呢?

我认为使用数据库会有点过分。

也许没关系,但我只是想知道我是否有更时尚的做事方式。

0 个答案:

没有答案