我正在尝试将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文件中的换行符。
谢谢。
答案 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)