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

2024-04-25 03:33:50 发布

您现在位置:Python中文网/ 问答频道 /正文

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

  • 将100000个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文件更好的方法呢?你知道吗

我认为使用数据库太过分了。你知道吗

也许可以,但我只是想看看有没有更时尚的做事方式。你知道吗


Tags: 文件csvfrompyimportoutputdatatransform