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)。这很有效。我不想给列表和元组中的每个条目赋予它自己的列,因为它们不会是固定数量的项,我希望能够获取列的内容,而不必在使用输出时引用动态数量的列。谢谢你的帮助!