用换行转义序列读取csv

2024-06-24 11:48:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,其中有一些文本。我希望对代码的以下部分解释转义序列(例如\n应解释为换行符)。pd.read_csv在这些文本列中读取,而不将\n解释为换行符,而是作为字符串中的两个独立字符,即将其保存为'\\''n'。你知道吗

我的csv文件如下所示(第一行包含列名):

text, number
one line\nother line, 12
second text\nwith more words maybe, 13

它是用df = pd.read_csv('file.csv')读入的。你知道吗

我尝试过将escapechar参数设置为“\”,但它只是删除了字符串中的斜杠,而没有对换行符进行任何解释,即第一个字符串变成one linenother line。你知道吗

按原样输出:

In[]: df.iloc[0,0]
'one line\\nother line'
In[]: print(df.iloc[0,0])
one line\nother line

而我想要的是:

In[]: df.iloc[0,0]
'one line\nother line'
In[]: print(df.iloc[0,0])
one line
other line

如果显式设置df.iloc[0,0] = 'one line\nother line',则会得到预期的行为,因为\n这次实际上被解释为换行符。你知道吗

理想情况下,我只需要改变一下方式pd.read\U csv文件()解释文件,但其他解决方案也可以。你知道吗

附言:我问了一个类似的问题here,但措辞不正确,我没有改变问题,而是接受了一个给定的答案(因为它回答了我问的问题,但不是我想解决的问题),然后问了这个新问题。你知道吗


Tags: 文件csv字符串代码textin文本df