#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)