Проблема с перерывами при анализе таблицы, разделенной несколькими каналами, в PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с перерывами при анализе таблицы, разделенной несколькими каналами, в Python

Сообщение Anonymous »

Следующие результаты представлены в таблице, извлеченной из JIRA, и моей программе необходимо получить данные, чтобы включить их в лист Excel.
Когда часть данных окружена пары трубок — это столбец, а когда он окружен только двумя трубками, это значение каждого столбца.

Код: Выделить всё

||Name||Age||Address||Phones||size||

|Edwards|22|London|06 45 06 06 06

06 75 85 06 06

07 85 22 15 48|180cm|

I should have this:

| Name | Age | Adress | Phones | size |
| --- | --- | --- | --- | --- |
| Edwards | 22 | London | 06 45 06 06 \\n 06 06 75 85 06 06 \\n 07 85 22 15 48 | 180 |

| Name | Age | Adress | Phones | size |
| --- | --- | --- | --- | --- |
| Edwards | 22 | London |  | 06 45 06 0606 06 75 85 06 0607 85 22 15 48180 |
но все, что есть после разрывов, он помещает в одну ячейку с остальными значениями в последнем столбце
Моя функция:< /p>

Код: Выделить всё

def process_description_column(df):

data_dictionary = {}
for index, row in df.iterrows():
modified_text = row['Description'].replace('*', '')
description_text = ""

lines = modified_text.strip().split('\n')
in_description_section = False
line_counter = 0

for line in lines:
line = line.strip()
in_description_section, line_counter, description_text = process_line_description(
line, in_description_section, line_counter, description_text)

if '||' in line:
column_names = re.split(r'\|\|', line)
columns = [col.strip() for col in column_names if col.strip()]
for col in columns:
if col not in data_dictionary:
data_dictionary[col] = []

elif '|' in line and columns:
line_without_bar = line.replace('|', '').strip()

if '\n' in line_without_bar:
values = re.split(r'\|', line)
values = [value.strip() for value in values if value.strip()]

while len(values) < len(columns):
values.append('')
for col, value in zip(columns, values):
data_dictionary[col].append(value)
else:
if data_dictionary[columns[-1]]:
data_dictionary[columns[-1]][-1] += ' ' + line_without_bar
else:
values = re.split(r'\|', line)
values = [value.strip() for value in values if value.strip()]

if len(columns) == len(values):
for col, value in zip(columns, values):
data_dictionary[col].append(value)
else:
while len(values) < len(columns):
values.append('')
for col, value in zip(columns, values):
data_dictionary[col].append(value)

data_dictionary['Description'] = [description_text.strip()]
return data_dictionary
Я пробовал другие способы, кроме описанного выше, но из-за разрывов у меня всегда возникала другая проблема.


Подробнее здесь: https://stackoverflow.com/questions/791 ... -in-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с перерывами при анализе таблицы, разделенной несколькими каналами, в Python
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Анализ таблицы, разделенной несколькими каналами, в Python
    Anonymous » » в форуме Python
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • Анализ таблицы, разделенной несколькими каналами, в Python
    Anonymous » » в форуме Python
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Анализ таблицы, разделенной несколькими каналами, в Python
    Anonymous » » в форуме Python
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Анализ таблицы, разделенной несколькими каналами, в Python
    Anonymous » » в форуме Python
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»