[英]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.