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

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

Сообщение Anonymous »

Извините, мой английский средний, но вот моя проблема:
Я хочу создать функцию, которая будет использовать эту строку для создания таблицы, следя за тем, чтобы она работала правильно даже с перерывами. как в примере ниже
Когда часть данных окружена парами каналов, это столбец, а когда он окружен только двумя каналами, это значение каждого столбца
||Имя||Возраст||Адрес||Телефоны||размер||
|Эдвардс|22|Лондон|06 45 06 06 06
06 75 85 06 06
07 85 22 15 48|180см|
(ставлю \n потому что я не смог вернуться к строке в этой таблице, но они должны быть в одной ячейке)



Имена
Возраст
Адрес< /th>
Телефоны
Размер




Эдвардс
22
Лондон
06 45 06 06 \n06 06 75 85 06 06\n 07 85 22 15 48
180см



вот одна из функций, которые я создал, но она не работает при разрыве значения;
`def предатель_colonne_description(df):
dictionnaire_donnees = {}
for index, row in df.iterrows():
texte_modifie = row['Description'].replace('*', '') # Enlever toutes les étoiles
colonnes = []
texte_description = ""

lignes = texte_modifie.strip().split('\n')
dans_section_description = False
compteur_lignes = 0

for ligne in lignes:
ligne = ligne.strip()
dans_section_description, compteur_lignes, texte_description = traiter_ligne_description(
ligne, dans_section_description, compteur_lignes, texte_description )

if '||' in ligne:
noms_colonnes = re.split(r'\|\|', ligne)
colonnes = [col.strip() for col in noms_colonnes if col.strip()]
for col in colonnes:
if col not in dictionnaire_donnees:
dictionnaire_donnees[col] = []

elif '|' in ligne and colonnes:
# Si une ligne contient |, on traite les valeurs
ligne_sans_barre = ligne.replace('|', '').strip() # Enlever le caractère |

# Vérifier si la ligne contient un retour à la ligne
if '\n' in ligne_sans_barre:
# Si c'est le cas, on ne concatène pas, on ajoute une nouvelle entrée
valeurs = re.split(r'\|', ligne)
valeurs = [valeur.strip() for valeur in valeurs if valeur.strip()]

# Assurer que le nombre de colonnes et de valeurs correspond
while len(valeurs) < len(colonnes):
valeurs.append('')
for col, valeur in zip(colonnes, valeurs):
dictionnaire_donnees[col].append(valeur)
else:
# Si la ligne ne contient pas de retour à la ligne, on concatène
if dictionnaire_donnees[colonnes[-1]]:
# Concaténer uniquement si la dernière valeur existe
dictionnaire_donnees[colonnes[-1]][-1] += ' ' + ligne_sans_barre
else:
# Sinon, on traite normalement comme une nouvelle valeur
valeurs = re.split(r'\|', ligne)
valeurs = [valeur.strip() for valeur in valeurs if valeur.strip()]

if len(colonnes) == len(valeurs):
for col, valeur in zip(colonnes, valeurs):
dictionnaire_donnees[col].append(valeur)
else:
# Si le nombre de colonnes et de valeurs ne correspond pas, ajouter des valeurs vides
while len(valeurs) < len(colonnes):
valeurs.append('')
for col, valeur in zip(colonnes, valeurs):
dictionnaire_donnees[col].append(valeur)

dictionnaire_donnees['Description'] = [texte_description.strip()]
return dictionnaire_donnees`


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

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

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

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

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

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

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