Python中DataFrame文本换行显示异常问题求助
问题描述
我通过CSV文件创建了一个DataFrame,保存CSV的代码如下:
df.to_csv('C:\\file.csv', index = False, header = True, encoding='latin1', sep = ';')
当前DataFrame显示如下:
| Id | Text |
|---|---|
| 1 | Pedro-Sanchez \n Gomez |
该DataFrame的第一行会显示为两行,包含空格的长文本也会自动换行。我期望的显示效果如下:
| Id | Text |
|---|---|
| 1 | Pedro-Sanchez Gomez |
我已使用pd.set_option('display.max_colwidth',None),但该方法无效,恳请提供解决方案。
解决方案
问题根源是Text字段包含**换行符(\n)**和大量冗余空格,display.max_colwidth仅控制列宽显示上限,无法处理文本内部的换行与多余空格,可按以下步骤解决:
- 清理文本内容:通过字符串替换移除换行符,合并连续空格
# 移除换行符,将多个连续空格替换为单个空格 df['Text'] = df['Text'].str.replace('\n', '').str.replace(r'\s+', ' ', regex=True)
- 优化显示配置(可选):若仍存在自动换行问题,补充设置显示参数
pd.set_option('display.max_colwidth', None) # 禁止DataFrame横向自动换行 pd.set_option('display.expand_frame_repr', False)
- 持久化清理结果(可选):若需保存清理后的内容,重新导出CSV
df.to_csv('C:\\cleaned_file.csv', index=False, header=True, encoding='latin1', sep=';')
内容的提问来源于stack exchange,提问作者Diana Lopes
相关产品推荐
相关产品推荐

