首页 > 解决方案 > 使用python从excel单元格中删除换行符

问题描述

我正在尝试将 excel 文件转换为 csv 文件。excel文件中的数据如下:

我要转换为 csv 的代码:

import pandas as pd
import glob
for excel_file in glob.glob('C:/Talend/DEV/MARKET_OPTIMISATION/IMS/*Extract*.xls'):
    print(excel_file)
    data_xls = pd.read_excel(excel_file, 'Untitled', index=0,skiprows=1, sep='|',encoding='utf-8')
    #data_xlx.pop
    data_xls1=data_xls.replace('\r\n','')
    data_xls1.to_csv('C:/Talend/DEV/MARKET_OPTIMISATION/IMS/IMS_Raw_data.csv',sep='|',encoding='utf-8')

上述代码的输出是:

在此处输入图像描述

但我需要像这样 在此处输入图像描述

谁能帮我删除excel文件上的换行符。

先感谢您。

标签: python

解决方案


在您的数据框中,换行符位于列名中。当您使用数据框的替换方法时,列名不会受到影响,只有数据会受到影响。

因此,在您的示例中,您应该明确更改列名:

data_xls = pd.read_excel(excel_file, 'Untitled', index=0,skiprows=1, sep='|',encoding='utf-8')
data_xls.columns = data_xls.columns.map(lambda x: x.replace('\r','').replace('\n', ''))

推荐阅读