在csv中编写文本后,打开它不会读取'\ n'char [duplicate]

问题描述 投票:1回答:2

我在其中创建了一个csv文件,使用此方法放置了一些歌曲的歌词:

with io.open('songs.csv', 'a+',encoding='utf-8') as file:
    writer = csv.writer(file , dialect='excel')
    writer.writerow(input_row)

其中input_row是带有[艺术家,歌词]的列表

现在打开csv时,我注意到到处都有'\n''\r'

例如:

原始文本:

I went walking in the garden
I was tripping on snakes
And I ain't asking for your loving
I'm just asking what your love is gonna take

读取csv后来自熊猫数据框的文本:

"\r\n\r\r\nI went walking in the garden\r\nI was tripping on snakes\r\nAnd I ain't asking for your loving\r\nI'm just asking what your love is gonna take\r\n\r\n

((我正在使用Pycharm,并且在数据集的上层中,那些转义字符不可见,所以我附加了一些单词。)

我正在使用清洁柱

    data['lyrics'] = data['lyrics'].replace(r'\\[n]', ' ',regex = True)
    data['lyrics'] = data['lyrics'].replace(r'\\[r]', ' ', regex=True)

但是当我打印文本时,什么都没有改变。

我做错了什么还是不是问题,我可以完全忽略它吗?

python pandas csv newline carriage-return
2个回答
2
投票

显然,Pandas在正确猜测行尾的类型时存在问题(Unix / Linux-\n,Windows-\r\n)。在这里尝试建议的方法:Adding a line-terminator in pandas ends up adding another \r解决方案:将文件对象传递给read_csv而不是传递文件名:

with open('songs.csv', 'r',encoding='utf-8') as file:
    df = pandas.read_csv(file)

0
投票

尝试一下

data['lyrics'] = data['lyrics'].str.strip()
© www.soinside.com 2019 - 2024. All rights reserved.