如何阻止Pandas从保存一个csv的断线?

mv1qrgav  于 2023-01-06  发布在  其他
关注(0)|答案(3)|浏览(136)

带有换行符的tkinter Text小工具的csv输出保存如下:

"id","comment","name"
1,"ABC",Beth
2,"xyz",Peter
3,"abc
xyz",Mike

我尝试使用linetterminator = both '\r\n'和only '\n'进行保存,但没有成功。我使用了一些行:

comment = Text(Forms, width=50, height=5 , wrap="word", font=('arial', 10))

df.at[id_q,'comment']=comment.get(1.0, "end-1c")

df.to_csv('./test.csv', encoding='utf-8', index=False, sep = ',' , lineterminator='\r\n')
62lalag4

62lalag41#

看起来问题是单元格内容中有换行符,所以不管行终止符是什么,这些换行符都会出现在csv输出中。
类似下面这样的方法应该有效:

df.at[id_q,'comment']=comment.get(1.0, "end-1c").replace('\n', '').replace('\r', '')
0yycz8jy

0yycz8jy2#

我希望.cvs看起来像这样,使用\n而不是中断:

"id","comment","name"
1,"ABC",Beth
2,"xyz",Peter
3,"abc\nxyz",Mike
5w9g7ksd

5w9g7ksd3#

您可以使用str.decode()str.encode()将换行符转换为转义字符串,如下所示:

df.at[id_q,'comment'] = comment.get('1.0', 'end-1c').encode('unicode_escape').decode()

注意,它是针对Python 3的。

相关问题