Pandas read_excel() разрыв строки в ячейке

#python #excel #pandas

#python #excel #pandas

Вопрос:

Я использую pandas в python для извлечения одного листа Excel в файл csv:

 import pandas as pd 
import sys
    
read_file = pd.read_excel(sys.argv[1], engine='openpyxl', sheet_name = sys.argv[3])
read_file.to_csv (sys.argv[2],  index = None, header=False, sep=';')
 

Проблема в том, что разрывы строк в ячейке (alt enter) вызовут новую строку в файле csv. Вместо этого он должен просто разделять текст пробелом

Ответ №1:

mystring = mystring.replace('n', ' ').replace('r', '') избавится от нарушителей для строки, и есть соответствующая функция pandas

итак

 import pandas as pd 
import sys
    
read_file = pd.read_excel(sys.argv[1], engine='openpyxl', sheet_name = sys.argv[3])
read_file = read_file.replace('n', ' ').replace('r', '')
read_file.to_csv (sys.argv[2],  index = None, header=False, sep=';')
 

получите то, что вы хотите

Обратите внимание, Windows использует возврат каретки и перевод строки. Таким образом, один заменяется пробелом, а другой — ничем. Отсюда и разница в приведенных выше инструментах замены.

Комментарии:

1. Ответ правильный при добавлении регулярного выражения = True read_file = read_file.replace('n','', regex=True)