<p>好的。你知道吗</p>
<p>我创建了自己的函数来生成它,并且它可以工作。你知道吗</p>
<pre><code>def auto_generate_dataframe_columns(output, raw_separtor=" -", col_seperator=r'\s{2,}'):
"""Automatically generate dataframe columns.
:param output: output for generating columns from
:param raw_separtor: keys raw seperator symbol
:param col_seperator: columns raw separator symbol (default separator is double or more spaces)
:return: list with generated keys in case of success otherwise None
"""
if output is None:
return None
keys_lines_list = []
pattern = re.compile(col_seperator)
for line in output.splitlines():
if raw_separtor in line:
break
curr_line = line.lstrip()
curr_line = pattern.split(curr_line)
if not is_line_empty(curr_line):
curr_line = [x for x in curr_line if x]
keys_lines_list = merge_two_lists(keys_lines_list, curr_line)
return keys_lines_list
def merge_two_lists(list1, list2):
"""Function for merging to lists to one list
:param list1: first list item
:param list2: second list item
:return: merged list
"""
max_len = list2.__len__() if [list1.__len__() < list2.__len__()] else list1.__len__()
rev_new_list = []
for index in range(max_len):
index1 = list1.__len__() - index - 1
index2 = list2.__len__() - index - 1
if index1 < 0:
rev_new_list.append(list2[max_len - index - 1])
elif index2 < 0:
rev_new_list.append(list1[max_len - index - 1])
else:
rev_new_list.append(list1[list1.__len__() - index - 1] + " " + list2[list2.__len__() - index - 1])
return rev_new_list[::-1]
def is_line_empty(line):
"""Function for checking if line is empty
:param line: given line
:return: True if line is empty otherwise False
"""
if not line or (len(line) == 0) or (len(line) == 1 and line[0] == ""):
return True
return False
</code></pre>