AttributeError: у объекта 'Series' нет атрибута 'columns' - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу, чтобы моя программа печатала пять первых символов, когда он распознает строку, состоящую из сложения двух столбцов (из кадра данных, созданного с помощью панд), в некоторых строках .txt, но, как сказано вназвание, это дает мне эту ошибку при запуске кода.Вот код (важные строки находятся в конце кода, я просто помещаю все, если вы хотите увидеть весь код).

import pandas as pd
import re
import numpy as np

link = "excelfilett.txt"
file = open(link, "r")
frames_load = []
is_count_frames_load = False
for line in file:
    if "[Interface1]" in line:
        is_count_frames_load = True
    if is_count_frames_load== True:
        frames_load.append(line)
    if "[EthernetComNeed]" in line:
        break

number_of_rows_load = len(frames_load) -1
header_load = re.split(r'\t', frames_load[0])
number_of_columns_load = len(header_load)

frame_array_load = np.full((number_of_rows_load, number_of_columns_load), 0)
df_frame_array_load = pd.DataFrame(frame_array_load)
df_frame_array_load.columns= header_load

for row in range(number_of_rows_load):
    frame_row_load = re.split(r'\t', frames_load[row])
    for position in range(len(frame_row_load))

df_frame_array_load["[Name]"] = df_frame_array_load["[End1]"] + "  " +  df_frame_array_load["[End2]"]


link = "excelfilett.txt"
file = open(link, "r")
frames_path = []
is_count_frames_path = False
for line in file:
    if "[Routing Paths]" in line:
        is_count_frames_path = True
    if is_count_frames_path== True:
        for row in df_frame_array_load["[Name]"].rows:
            if row in line:
                print(line[0:4])
    if "[EthernetComConfig]" in line:
        break

Это дает мне AttributeError on для строки в df_frame_array_load["[Имя]"]. Row: "и это не должно быть ошибкой версии, в чем тогда проблема?Я не понимаю.

1 Ответ

0 голосов
/ 19 ноября 2018
for row in df_frame_array_load["[Name]"].rows:

, поскольку объект серии Pandas не имеет атрибута "rings ", так как для выполнения операции цикла в Series вы выполняете итерацию по нему.

следует изменить на просто:

for row in df_frame_array_load["[Name]"]:
    ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...