CSV数据到Python字典

CSV数据到Python字典,python,dataframe,csv,dictionary,Python,Dataframe,Csv,Dictionary,我将列表和目录中的数据写入csv文件,当我使用pd.read\u csv('file.csv')导入csv文件时,所有内容都变成字符串。如何将其保留或转换为原始格式 最初,所有内容都在数据帧中,然后使用df.to_CSV(r./file.CSV')写入CSV文件 所有行都是字符串。这将以dicts形式读取列: df = pd.read_csv('file.csv', converters={'ln2': eval}) 保存到json,而不是csv。我将列表和目录中的数据写入csv文件。问题可能

我将列表和目录中的数据写入csv文件,当我使用
pd.read\u csv('file.csv')
导入csv文件时,所有内容都变成字符串。如何将其保留或转换为原始格式

最初,所有内容都在数据帧中,然后使用
df.to_CSV(r./file.CSV')
写入CSV文件


所有行都是字符串。

这将以dicts形式读取列:

df = pd.read_csv('file.csv', converters={'ln2': eval})

保存到json,而不是csv。我将列表和目录中的数据写入csv文件。问题可能就在那里。如果数据在列表和dicts中,那么最好直接从中构建数据帧,除非您真的知道如何使用
csv
模块。无论如何,这是您应该展示的代码部分。“我将列表和目录中的数据写入csv文件”,这通常不是一种合理的序列化方法。如果可能,您应该使用
pickle
或JSON。事实上,我会说,为这类事情使用熊猫数据帧是一种反模式。pandas并不是真正围绕着使用Python对象作为pandas容器的元素(字符串除外)而设计的。这与将其更改为json一样有效。如果我想用这种方式转换2列,我能做吗
…converters={['ln1','ln2':eval})
?同样,对于json,所有东西都很好地导入了,但是现在所有dict键都有引号,我该如何防止呢?@AnthonySirico不幸的是,json需要字符串键。是的,因此为此,您可以坚持使用csv并按照我的指示加载它。此外,
转换器
需要dict,所以它应该是
{'ln1':eval,'ln2':eval}
df = pd.read_csv('file.csv', converters={'ln2': eval})