Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 迭代嵌套表/扩展表_Python_Python 2.7_Csv_Pandas - Fatal编程技术网

Python 迭代嵌套表/扩展表

Python 迭代嵌套表/扩展表,python,python-2.7,csv,pandas,Python,Python 2.7,Csv,Pandas,不知道如何开始。我有许多以制表符分隔的文件,希望能够将它们放入数据库中。然而,最困难的部分是桌子的布局不是最好的。例如,父行将被指定一个字母(D),然后该父行下的行与父行对应,直到下一个D行被列出 理想情况下,我希望所有子行与父行位于同一行中。以便将其放入数据库并查询结果(除非有其他方法) 以下是数据链接: 更好的数据可视化表示在任何人提到它之前,我无法抓取html数据,因为这是唯一具有相应网站的数据文件 我认为这是可行的。它只是在“父”行列表中每个“父”行的末尾添加一个“子”行列表 我认为这是

不知道如何开始。我有许多以制表符分隔的文件,希望能够将它们放入数据库中。然而,最困难的部分是桌子的布局不是最好的。例如,父行将被指定一个字母(D),然后该父行下的行与父行对应,直到下一个D行被列出

理想情况下,我希望所有子行与父行位于同一行中。以便将其放入数据库并查询结果(除非有其他方法)

以下是数据链接:

更好的数据可视化表示在任何人提到它之前,我无法抓取html数据,因为这是唯一具有相应网站的数据文件


我认为这是可行的。它只是在“父”行列表中每个“父”行的末尾添加一个“子”行列表


我认为这是可行的。它只是在“父”行列表中每个“父”行的末尾添加一个“子”行列表

customer_file = open('index_of_customers.txt', 'r') # you should of course do more try-except stuff in your script
database = []                                       # all data ends up here
for each_line in customer_file:                     # reads one line at a time
    each_line = each_line.strip('\n')               # removes newlines
    each_line = each_line.split('\t')               # split the line of text into a list. This should save any empty columns aswell
    if each_line[0] == 'D':                         # if line starts with a single D
        each_line.append([])                        # add a list for the other lines at the end of the D line
        database.append( each_line )                # add a D line to the "database" as a list
    else:                                           # if line don't start with a single D
        if len(database):                           # the first line is not a D line, so we need to check if the database is empty to avoid errors
            database[-1][-1].append(each_line)      # add the line to the last D line's list. 
for each_D_line in database:                        # prints out the database in an ugly way
    print( str(each_D_line[:-1]) )                  # first the D lines
    for each_other_line in each_D_line[-1]:
        print( '\t' + str(each_other_line) )        # then each other line