【发布时间】:2018-06-23 09:01:22
【问题描述】:
最初我有一个列表列表,每个列表都包含字符串元组(来自一些计算)。我想保存它们以备后用,因此我不必再次进行所有计算,只需读取 csv。
L = [l1,l2,...]
l1 = [('a','b'), ('c','d'),...]
l2 = [('e','f'), ('g','h'),...]...
我将其转换为 pandas 数据框:
import pandas as pd
df = pd.DataFrame(L)
df.to_csv('MyLists.csv', sep=";")
所以每个列表 l 都保存为 csv 中的一行。 一段时间后,我想再次使用保存在 csv 中的列表。 所以我再次导入了 pandas 并做了:
readdf = pd.read_csv('MyLists.csv', delimiter = ";")
newList = readdf.values.tolist()
问题是现在每个元组本身都是一个字符串,即 newList 中的每个列表如下所示:
l1 = ['('a','b')', '('c', 'd')',...]
当我用文本编辑器查看 csv 时,它看起来是正确的,有点像:
('a','b');('c','d');...
我尝试直接阅读:
import csv
newList = []
with open('MyLists.csv') as f:
reader = csv.reader(f, delimiter=";")
for row in reader:
newList.append(row)
但问题是一样的。 那么如何去掉多余的“'”呢?
【问题讨论】:
标签: python string list pandas csv