使用python从Excel单元格中删除换行符

时间:2019-01-28 15:52:00

标签: python

我正在尝试将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')

以上代码的输出为:

enter image description here

但是我需要这样放 enter image description here

任何人都可以帮助我删除excel文件中的换行符。

谢谢。

6 个答案:

答案 0 :(得分:0)

尝试分别替换\ r和\ n

mystring = mystring.replace('\n', ' ').replace('\r', '')

如果失败仅是.split()字符串,然后是.join()列表元素

答案 1 :(得分:0)

您可以使用以下内容:

import re
re.sub("\n|\r", "", mystring)

答案 2 :(得分:0)

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

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

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', ''))

答案 3 :(得分:0)

您必须在命令中使用regex = True,如下所示:

import re
data_xls = data_xls.replace('\n', ' ', regex=True)

或者更好的方法是用单个空格替换任何一种空白:

data_xls = data_xls.replace('\s', ' ', regex=True)

答案 4 :(得分:0)

您需要替换\t(制表符)。 这将使您内联所有记录。

mystring = mystring.replace('\t','')

答案 5 :(得分:0)

您需要替换\t(制表符)。 这将使您内联所有记录。

mystring = mystring.replace('\t','')

您可以粘贴部分数据here,以查看数据中隐藏了哪些字符。