我想我误解了阅读的意图。如果我有一个像“j”这样的文件
# notes
a,b,c
# more notes
1,2,3
我怎样才能看到熊猫。读取此文件,跳过任何“#”注释行?我在帮助中看到,不支持行的“注释”,但它表示应返回空行。我看到一个错误
df = pandas.read_csv('j', comment='#')
数据标记化出错。C错误:预期第2行中的1个字段,锯3
我现在在
In [15]: pandas.__version__
Out[15]: '0.12.0rc1'
在版本“0.12”上。0-199-g4c8ad82':
In [43]: df = pandas.read_csv('j', comment='#', header=None)
数据标记化出错。C错误:预期第2行中的1个字段,锯3
我使用的是0.13版的熊猫。1而且csv中的这个评论问题仍然困扰着我。
以下是我目前的工作区:
def read_csv(filename, comment='#', sep=','):
lines = "".join([line for line in open(filename)
if not line.startswith(comment)])
return pd.read_csv(StringIO(lines), sep=sep)
否则使用pd。读取_csv(文件名,注释='#')
I get
pandas.parser.CParserError:标记数据出错。C错误:预期第16行中的1个字段,锯3。
一种解决方法是指定skiprows以忽略前几个条目:
In [11]: s = '# notes\na,b,c\n# more notes\n1,2,3'
In [12]: pd.read_csv(StringIO(s), sep=',', comment='#', skiprows=1)
Out[12]:
a b c
0 NaN NaN NaN
1 1 2 3
否则,read\u csv
会有点困惑:
In [13]: pd.read_csv(StringIO(s), sep=',', comment='#')
Out[13]:
Unnamed: 0
a b c
NaN NaN NaN
1 2 3
这似乎是0.12中的情况。0,我已经提交了错误报告。
正如Viktor所指出的,你可以在事实发生后使用dropna删除NaN...(最近有一个公开的问题,评论行被完全忽略):
In [14]: pd.read_csv(StringIO(s2), comment='#', sep=',').dropna(how='all')
Out[14]:
a b c
1 1 2 3
注意:默认索引将“泄露”缺少数据的事实。
所以我相信在最新版本的熊猫(版本0.16.0),你可以把注释='#'
参数放入pd.read_csv
,这应该跳过注释行。
这些github问题表明您可以做到这一点:
请参阅read\u csv
上的文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html
问题内容: 我认为我误会了read_csv的意图。如果我有文件“ j”,例如 我如何pandas.read_csv这个文件,跳过任何’#’注释行?我在帮助行的注释中看到它不被支持,但是它指示应该返回一个空行。我看到一个错误 CParserError:标记数据时出错。C错误:第2行中应有1个字段,看到了3个 我目前在 在版本‘0.12.0-199-g4c8ad82’上: CParserError:标
问题内容: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 问题答案: 有什么方法可以通过JPA注释指定SQL注释?表和列的注释。 否。如果要定义表和列注释,最好的选择是在生成的DDL中根据事实进行操作,然后再对数据库执行操作。
问题内容: 用csv.DictReader处理CSV文件很棒- 但是我有带注释行的CSV文件(在行的开头用哈希表示),例如: csv模块不包含任何跳过此类行的方法。 我可以轻松地做些骇人听闻的事情,但是我想有一种将csv.DicReader包装在其他迭代器对象周围的好方法,该对象会进行预处理以丢弃行。 问题答案: 实际上,这与:
问题内容: 是否可以通过注释处理器访问带有注释的元素? 是否可以通过注释处理器访问带注释的类型边界? 高度赞赏我错过的相关文档的链接。 内容: 注释: 一个示例类: 处理器: 在classpath 上使用编译以上内容将显示消息,但永远不会调用该方法。当方法参数中存在注释时,使用注释向处理器添加另一个注释可以正常工作。如果方法参数带有注释,则过程将再次忽略该元素。 问题答案: 该注释是有点棘手,因为
问题内容: 我需要知道如何在运行时阅读Javadoc注释(可能是通过反射吗?) 说我有以下功能: 在运行时,我可以通过反射获得有关此函数的更多信息。但是无法阅读注释。所以问题是,如何在运行时阅读此 javadoc 注释。 问题答案: 考虑使用注释而不是Javadoc并编写注释处理器。
问题内容: 我试图通过注释将整个JSF托管Bean注入另一个托管Bean非常相似,但是我正在注入Bean,而不是Servlet)。这就是我在做什么: 不起作用(JSF 2.0 / Mojarra 2.0.3): 有没有可能或者我需要通过编程方式进行注射? 问题答案: 您需要添加setter和getter 当将解析并注入依赖项时,它将使用setters注入,因此适当的setters / getter