繁体   English   中英

将 CSV 字符串转换为具有 memory 效率的字典列表

[英]Convert CSV string to list of dicts with memory efficiency

我有 CSV 数据完全存储在字符串csv_string中。 这可能达到几千兆字节的大小。

我想将它转换为字典列表(不是 OrderedDicts)。 这是我目前拥有的代码:

csv_string = io.StringIO(csv_string)
csv_reader = csv.DictReader(csv_string)
data = [dict(row) for row in csv_reader]

然而,正如您可能想象的那样,这可能是相当密集的 memory 因为我最终将整个数据集存储在三个不同的对象中。 有没有更好的方法来处理这个问题?

我认为最快的方法之一是使用pandas 使用 pandas 对于大数据集总是很好,因为它针对这类任务进行了优化。

import pandas as pd
df = pd.from_csv(csv_string)
data = df.to_dict()

或者

import pandas as pd
data = pd.from_csv(csv_string).to_dict()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM