我有一个csv文件,其中包括一些文本。我想将此文本标记化(拆分为一个单词列表),但在pd.read_csv
如何解释转义字符时遇到了问题。在
我的csv文件如下所示:
text, number
one line\nother line, 12
代码如下:
^{pr2}$输出为:
['one', 'line\\nother', 'line']
我想要的是:
['one', 'line', 'other', 'line']
问题是pd.read_csv()
没有将\n
解释为换行符,而是将其解释为两个字符(\
和{
{{cd6}和{cd6}的字符串{cdi>都没有删除^ cd6>的字符串。在
如果我显式地设置df.iloc[0,0] = 'one line\nother line'
,word_tokenize
工作得很好,因为这次\n
实际上被解释为换行符。在
理想情况下,我只需更改pd.read_csv()
解释文件的方式,但其他解决方案也可以。在
你可以试试这个
在您的情况下,只需使用:
这个问题措辞有点拙劣。我猜
pandas
转义字符串中的\
会使nltk.word_tokenize
混淆。pandas.read_csv
只能使用一个分隔符(或regex,但我怀疑您是否希望这样做),因此它将始终以"one line\nother line"
的形式读取文本列,并转义反斜杠以保留它。如果您想进一步解析和格式化它,可以使用转换器。下面是一个例子:以上结果:
^{pr2}$编辑:如果需要使用
nltk
进行拆分(假设拆分取决于语言模型),则需要在传递到word_tokenize
之前取消字符串的转义;请尝试如下操作:注意:查询中的匹配列表非常复杂,因此您可能希望通过如下方式更改lambda将其转换为元组:
相关问题 更多 >
编程相关推荐