在Python中,如何使用.data扩展名导入Web数据?

时间:2016-02-11 15:20:17

标签: python data-analysis

在python 3中,我想导入下面链接中找到的带有.data扩展名的网页数据。导入它的代码是什么?

https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data

2 个答案:

答案 0 :(得分:0)

我的建议是:

知道数据结构,有9列,所以我们只需要8个分割。从阅读数据开始:

with open('auto-mpg.data') as fp:
    data = [line.split(maxsplit=8) for line in fp]

现在你可以处理你所拥有的每个细胞。

此功能必须完成这项工作:

import re

def handle(s):
    if s == '?':
        return None
    elif re.match(r'^\d+\.\d+$', s):
        return float(s)
    elif re.match(r'^\d+$', s):
        return int(s, 10)
    else:
        return s.strip().strip('"')

data = [tuple(map(handle, row)) for row in data]

全部放在一起:

import re

def handle(s):
    if s == '?':
        return None
    elif re.match(r'^\d+\.\d+$', s):
        return float(s)
    elif re.match(r'^\d+$', s):
        return int(s, 10)
    else:
        return s.strip().strip('"')

with open('auto-mpg.data') as fp:
    data = [
        tuple(map(handle, row))
        for row in (line.split(maxsplit=8) for line in fp)
    ]

但这一切都是可能的,因为我们知道数据结构。

答案 1 :(得分:0)

import pandas as pd

data = pd.read_csv('https://archive.ics.uci.edu/ml/machine-learning-databases/auto-mpg/auto-mpg.data')

这就是你最后得到的结果(PyCharm控制台上的自动mpg数据):

Auto-mpg Data on PyCharm Console