我找到了以下名为ecoli.data的数据集,可在以下位置找到:
https://archive.ics.uci.edu/ml/machine-learning-databases/ecoli/
我想在R中打开它来进行分类任务,但我更愿意将此文档转换为csv文件。当我在单词中打开它时,我注意到没有制表符分隔,因为每行之间有类似的树空格;所以底线问题是如何使用Excel或Python将此文件转换为csv。
答案 0 :(得分:5)
将文件重命名为ecoli.txt
,然后在Excel中将其打开。这样您就可以使用"文本导入向导" Microsoft Excel,使您可以选择"固定宽度"等选项。只需点击" next"几次"完成"并且您将拥有Excel网格中的数据。现在再次将其另存为CSV。
答案 1 :(得分:2)
使用Python 2.7:
import csv
with open('ecoli.data.txt') as input_file:
lines = input_file.readlines()
newLines = []
for line in lines:
newLine = line.strip().split()
newLines.append( newLine )
with open('output.csv', 'wb') as test_file:
file_writer = csv.writer(test_file)
file_writer.writerows( newLines )
答案 2 :(得分:2)
在文件夹中重命名
ecoli.data
到
ecoli.csv
然后你可以在你的代码中使用 csv 的标准导入代码,无需任何添加。没有更多的回头看它。 它对我有用 adult.data!
答案 3 :(得分:1)
以下两种方法可以在R(实际工作)中实际执行此操作:
library(readr)
url <- "https://archive.ics.uci.edu/ml/machine-learning-databases/ecoli/ecoli.data"
以基础R
df <- read.table(url)
dplyr::glimpse(df)
## Observations: 336
## Variables:
## $ V1 (fctr) AAT_ECOLI, ACEA_ECOLI, ACEK_ECOLI, ACKA_ECOLI, ADI_ECOLI, ...
## $ V2 (dbl) 0.49, 0.07, 0.56, 0.59, 0.23, 0.67, 0.29, 0.21, 0.20, 0.42,...
## $ V3 (dbl) 0.29, 0.40, 0.40, 0.49, 0.32, 0.39, 0.28, 0.34, 0.44, 0.40,...
## $ V4 (dbl) 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48,...
## $ V5 (dbl) 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,...
## $ V6 (dbl) 0.56, 0.54, 0.49, 0.52, 0.55, 0.36, 0.44, 0.51, 0.46, 0.56,...
## $ V7 (dbl) 0.24, 0.35, 0.37, 0.45, 0.25, 0.38, 0.23, 0.28, 0.51, 0.18,...
## $ V8 (dbl) 0.35, 0.44, 0.46, 0.36, 0.35, 0.46, 0.34, 0.39, 0.57, 0.30,...
## $ V9 (fctr) cp, cp, cp, cp, cp, cp, cp, cp, cp, cp, cp, cp, cp, cp, cp...
write.csv(df, "ecoli.csv", row.names=FALSE)
使用readr
函数
df <- read_table(url, col_names=FALSE)
dplyr::glimpse(df)
## Observations: 336
## Variables:
## $ X1 (chr) "AAT_ECOLI", "ACEA_ECOLI", "ACEK_ECOLI", "ACKA_ECOLI", "ADI...
## $ X2 (dbl) 0.49, 0.07, 0.56, 0.59, 0.23, 0.67, 0.29, 0.21, 0.20, 0.42,...
## $ X3 (dbl) 0.29, 0.40, 0.40, 0.49, 0.32, 0.39, 0.28, 0.34, 0.44, 0.40,...
## $ X4 (dbl) 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48, 0.48,...
## $ X5 (dbl) 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5,...
## $ X6 (dbl) 0.56, 0.54, 0.49, 0.52, 0.55, 0.36, 0.44, 0.51, 0.46, 0.56,...
## $ X7 (dbl) 0.24, 0.35, 0.37, 0.45, 0.25, 0.38, 0.23, 0.28, 0.51, 0.18,...
## $ X8 (dbl) 0.35, 0.44, 0.46, 0.36, 0.35, 0.46, 0.34, 0.39, 0.57, 0.30,...
## $ X9 (chr) "cp", "cp", "cp", "cp", "cp", "cp", "cp", "cp", "cp", "cp",...
write_csv(df, "ecoli.csv")
答案 4 :(得分:0)
使用
pandas.read_table('https://archive.ics.uci.edu/ml/machine-learning-databases/ecoli/', delim_whitespace=True)
答案 5 :(得分:0)
这很简单,单击实际的数据集名称,例如:xyz.data并用XYZ.csv重命名,它将转换为CSV格式。
答案 6 :(得分:0)
解决问题的另一种方法是使用.data
命令在R上读取read.table
文件。
ecoli <- read.table("ecoli.data",header=F)
答案 7 :(得分:0)
我得到的最简单的方法是将文件从ecoli.data
重命名为ecoli.csv
,但不在PC中。重命名您的手机。它将自动转换扩展名。