我在其中创建了一个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)
但是当我打印文本时,什么都没有改变。
我做错了什么还是不是问题,我可以完全忽略它吗?
显然,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)
尝试一下
data['lyrics'] = data['lyrics'].str.strip()