首页 > 解决方案 > 从 url 导入数据集并在 python3 中将文本转换为 csv

问题描述

我对 Python 很陌生(使用 Python3)并阅读 Pandas 来导入数据集。

我需要从 url 导入数据集 - https://newonlinecourses.science.psu.edu/stat501/sites/onlinecourses.science.psu.edu.stat501/files/data/leukemia_remission/index.txt 并将其转换为 csv 文件,我在转换后的 csv -> 中得到了一些特殊字符

我正在下载 txt 文件并将其转换为 csv,这是正确的方法吗?转换后的 csv 将整个文本放入一列

        from urllib.request import urlretrieve

        import pandas as pd
        from pandas import DataFrame

        url = 'https://newonlinecourses.science.psu.edu/stat501/sites/onlinecourses.science.psu.edu.stat501/files/data/leukemia_remission/index.txt'

        urlretrieve(url, 'index.txt')


        df = pd.read_csv('index.txt', sep='/t', engine='python', lineterminator='\r\n')
        csv_file = df.to_csv('index.csv', sep='\t', index=False, header=True)
        print(csv_file)

成功导入后,我必须将 X 提取为除第一列之外的所有列,并将 Y 提取为第一列。我会感谢你的所有帮助。

标签: python-3.xpandascsv

解决方案


from urllib.request import urlretrieve
import pandas as pd
url = 'https://newonlinecourses.science.psu.edu/stat501/sites/onlinecourses.science.psu.edu.stat501/files/data/leukemia_remission/index.txt'
urlretrieve(url, 'index.txt')

df = pd.read_csv('index.txt', sep='\t',encoding='utf-16')
Y = df[['REMISS']]
X = df.drop(['REMISS'],axis=1)

推荐阅读