首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ParserError()读取.txt文件时获取“pd.read_csv”

使用ParserError()读取.txt文件时获取“pd.read_csv”
EN

Stack Overflow用户
提问于 2022-11-19 09:50:24
回答 2查看 53关注 0票数 0

我正在尝试将这个数据集:COCOMO81转换为arff。

在转换为.arff之前,我正在尝试将其转换为.csv

我跟随这个链接来做这件事。

我从承诺网站得到的数据集。我将整个页面复制为cocomo81.txt到记事本,现在我尝试使用python将该cocomo81.txt文件转换为.csv。(我打算稍后使用weka将.csv文件转换为.arff )

但是,当我跑的时候

代码语言:javascript
复制
import pandas as pd
read_file = pd.read_csv(r"cocomo81.txt")

我得到了 ParserError。

为了解决这个问题,我遵循了这个解决方案并修改了命令

read_file = pd.read_csv(r"cocomo81.txt",on_bad_lines='warn')

我收到了一堆警告-你可以看到它看起来像什么这里

然后我运行了read_file.to_csv(r'.\cocomo81csv.csv',index=None)

但是,在我的情况下,ParserError的修复似乎不起作用,因为我的cocomo81csv.csv文件在Excel中看起来像

有人能帮助我理解我哪里出了问题,以及如何使用来自承诺存储库的.arff格式的数据集吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-19 13:30:51

看起来这是一个csv文件,第一行是注释。注释行由%字符表示,但也由@(?)表示,实际的csv数据从第230行开始。

您应该跳过第一行并手动设置列名,尝试如下所示:

代码语言:javascript
复制
# set column names manually
col_names = ["rely", "data", "cplx", "time", "stor", "virt", "turn", "acap", "aexp", "pcap", "vexp", "lexp", "modp", "tool", "sced", "loc", "actual" ]
filename = "cocomo81.arff.txt"

# read csv data
df = pd.read_csv(filename, skiprows=229, sep=',', decimal='.', header=None, names=col_names)

print(df)
票数 1
EN

Stack Overflow用户

发布于 2022-11-19 12:27:31

首先需要解析txt文件。列名可以在@属性之后使用。

代码语言:javascript
复制
@attribute rely numeric
@attribute data numeric
@attribute cplx numeric
@attribute time numeric
..............................

在csv文件中,只在文件末尾的@data之后加载数据。你可以直接复制/粘贴。

代码语言:javascript
复制
0.88,1.16,0.7,1,1.06,1.15,1.07,1.19,1.13,1.17,1.1,1,1.24,1.1,1.04,113,2040
0.88,1.16,0.85,1,1.06,1,1.07,1,0.91,1,0.9,0.95,1.1,1,1,293,1600
1,1.16,0.85,1,1,0.87,0.94,0.86,0.82,0.86,0.9,0.95,0.91,0.91,1,132,243
0.75,1.16,0.7,1,1,0.87,1,1.19,0.91,1.42,1,0.95,1.24,1,1.04,60,240
...................................................................

然后读取生成的csv文件。

代码语言:javascript
复制
pd.read_csv(file, names=["rely", "data", "cplx", ...])
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74498991

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档