我用python将两个二维列表保存到一个文件中,现在我想将这个字符串恢复为两个列表,但不知道如何在不进行大量混乱的拆分的情况下做好这件事。这个问题有什么作用吗
文件(lists.txt)如下所示:
[['someting1', 'someting2', 'someting3', 'someting4'], ['someting else1', 'someting else2', 'someting else3', 'someting else4']]
[['different1', 'different2', 'different3'], ['wow is this different1', 'wow is this different2', 'wow is this different3']]
这应该在二维列表中进行转换,结果可能如下所示
print(listForLine1[1][1]) >> 'someting else2'
print(listForLine1[0][2]) >> 'different3'
谢谢 维木
编辑:
我发现将列表保存为文本不是一个好主意,因为像'和'这样的特殊字符会导致将此文本再次转换回列表的复杂性
更好的解决方案是使用pandas数据帧,并将其保存到csv中,以后可以用pandas重新打开
示例:
import pandas as pd
dataToAdd = [["test","test"]["test","test"]]
df = pd.DataFrame(data=dataToAdd)
file = open("filetowriteto", 'w+')
file.write(df.to_csv())
尝试使用
或者
为此,必须使用
请记住,在文件中写入文本时使用双倒逗号(“),而不是单(')
这将从文件中加载字符串作为dictionary/list对象。 希望这有帮助。 欢迎使用堆栈溢出!:)
这样的列表可以使用
savetxt
保存为csv
:我可以指定格式字段宽度来排列列
还要选择一个不出现在文本中的分隔符
在任何情况下,这个文件都可以用
genfromtxt
加载((读卡器也可以工作)一般来说,用
str
格式写和读列表或ndarray
不是个好主意。解析可能更难,甚至不可能。这种格式是为了人类的可读性,而不是机器解析如另一个答案所示,
json
是列表(和字典)的好选择相关问题 更多 >
编程相关推荐