Python 将列表列表输出和导入到DataFrame

Python 将列表列表输出和导入到DataFrame,python,pandas,import,output,Python,Pandas,Import,Output,我希望每次运行函数时都能将其附加到.txt文件中 我试图写入函数的输出如下: somelist = ['a','b','b','c'] somefloat = -0.64524 sometuple = (235,633,4245,524) output = tuple(somelist,somefloat,sometuple) (the output does not need to be in tuple format.) outfile = open('log.txt','a') out

我希望每次运行函数时都能将其附加到
.txt
文件中

我试图写入函数的输出如下:

somelist = ['a','b','b','c']
somefloat = -0.64524
sometuple = (235,633,4245,524)
output = tuple(somelist,somefloat,sometuple) (the output does not need to be in tuple format.)
outfile = open('log.txt','a')
out = str(output)+'\n
outfile.write(out)
with open('log.txt', "r") as myfile:
    mydata = myfile.readlines()
    for line in mydata:  
        line = eval(line)
dflog = pd.read_csv('log.txt')
现在,我的输出如下:

somelist = ['a','b','b','c']
somefloat = -0.64524
sometuple = (235,633,4245,524)
output = tuple(somelist,somefloat,sometuple) (the output does not need to be in tuple format.)
outfile = open('log.txt','a')
out = str(output)+'\n
outfile.write(out)
with open('log.txt', "r") as myfile:
    mydata = myfile.readlines()
    for line in mydata:  
        line = eval(line)
dflog = pd.read_csv('log.txt')
这种方法很有效,但我必须这样导入:

somelist = ['a','b','b','c']
somefloat = -0.64524
sometuple = (235,633,4245,524)
output = tuple(somelist,somefloat,sometuple) (the output does not need to be in tuple format.)
outfile = open('log.txt','a')
out = str(output)+'\n
outfile.write(out)
with open('log.txt', "r") as myfile:
    mydata = myfile.readlines()
    for line in mydata:  
        line = eval(line)
dflog = pd.read_csv('log.txt')
理想情况下,我希望能够将其直接导入Pandas数据帧,如下所示:

somelist = ['a','b','b','c']
somefloat = -0.64524
sometuple = (235,633,4245,524)
output = tuple(somelist,somefloat,sometuple) (the output does not need to be in tuple format.)
outfile = open('log.txt','a')
out = str(output)+'\n
outfile.write(out)
with open('log.txt', "r") as myfile:
    mydata = myfile.readlines()
    for line in mydata:  
        line = eval(line)
dflog = pd.read_csv('log.txt')
并让它生成一个三列数据集,第一列包含一个列表(字符串格式可以),第二列包含一个浮点,第三列包含一个元组(与列表相同)

我的问题是:

  • 有没有一种方法可以将输出附加到一种更容易导入的格式中

  • 有没有一种更简单的方法可以做到这一点,这似乎是一项非常常见的任务,如果有人把它写成一两行代码,我不会感到惊讶


  • 一种方法是使用自定义分隔符(如
    “|”

    说:

    (如果您想有更多的列,那么可以使用
    string.join()
    或类似的方法)

    然后,就像以前一样:

    outfile = open('log.txt','a')
    out = output + '\n'
    outfile.write(out)
    
    就像用你的手指读整个文件一样

    pd.read_csv("log.txt", sep='|')
    

    请注意,不鼓励在
    pandas
    中使用列表或元组作为条目(尽管我找不到官方参考)。对于带操作的提速器,您可以考虑将元组或列表划分为单独的列,这样就可以得到浮点数、整数或简单字符串。如果需要,Pandas可以轻松处理自动命名。

    预期输出是什么?您能举一个您希望从该
    pd.read_csv
    命令获得的pandas数据帧的示例吗?输出将是一个三列数据集,第一列包含['a'、'b'、'b'、'c'],第二列包含-0.64524,第三列包含(2356334245524)。这很有效。我不想给列表和元组中的每个条目赋予它自己的列,因为它们不会是固定数量的项,我希望能够获取列的内容,而不必在使用输出时引用动态数量的列。谢谢你的帮助!