Python 在csv中写入文本后,打开它不会';t阅读'\n';烧焦
我创建了一个csv文件,在其中我放置了一些歌曲的歌词,使用以下方法:Python 在csv中写入文本后,打开它不会';t阅读'\n';烧焦,python,pandas,csv,newline,carriage-return,Python,Pandas,Csv,Newline,Carriage Return,我创建了一个csv文件,在其中我放置了一些歌曲的歌词,使用以下方法: with io.open('songs.csv', 'a+',encoding='utf-8') as file: writer = csv.writer(file , dialect='excel') writer.writerow(input_row) 其中input_行是带有[艺术家、歌词]的列表 现在,当我打开我的csv时,我注意到到处都是'\n'和'\r': 例如: 原始文本: I went wal
with io.open('songs.csv', 'a+',encoding='utf-8') as file:
writer = csv.writer(file , dialect='excel')
writer.writerow(input_row)
其中input_行是带有[艺术家、歌词]的列表
现在,当我打开我的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)
但是当我打印文本时,没有任何变化
我是做错了还是不是问题,我可以简单地忽略它??显然熊猫在正确猜测行尾类型方面有问题(Unix/Linux-
\n
,Windows-\r\n
)。尝试此处建议的解决方案:将文件对象传递给read\u csv
,而不是传递文件名:
with open('songs.csv', 'r',encoding='utf-8') as file:
df = pandas.read_csv(file)
试试这个
data['lyrics'] = data['lyrics'].str.strip()
@Błotosmętek不确定,现在问题是:为什么我编写的行代码不删除这些\n和\r?