从url导入数据集并将文本转换为python3中的csv

时间:2019-07-06 09:39:07

标签: python-3.x pandas 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会将整个文本放入一列

def download
    @proofreading_job = ProofreadingJob.find(params[:id])
    @proofreading_job.update(downloaded_at: Time.current) if current_user == @proofreading_job.proofreader.user
    response.headers["Content-Type"] = @proofreading_job.document.file.content_type
    response.headers["Content-Disposition"] = "attachment; #{@proofreading_job.document.file.filename.parameters}"

    @proofreading_job.document.file.download do |chunk|
      response.stream.write(chunk)
    end
    ensure
    response.stream.close
end

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

1 个答案:

答案 0 :(得分:0)

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)