将数据帧字典写入单个fi

2024-09-29 21:51:34 发布

您现在位置:Python中文网/ 问答频道 /正文

试图捕捉多年来每天更新的二维表。我可以把它们下载到数据帧字典中。试着把它写入一个CSV文件,所以我不必每次都下载它。在

import csv
import pandas as pd 

def saver(dictex):
    for key, val in dictex.items():
        val.to_csv("data_{}.csv".format(str(key)))

    with open("keys.txt", "w") as f: #saving keys to file
        f.write(str(list(dictex.keys()))

def loader():
    """Reading data from keys"""
    with open("keys.txt", "r") as f:
        keys = eval(f.read())
    dictex = {}    
    for key in keys:
        dictex[key] = pd.read_csv("data_{}.csv".format(str(key)))

    return dictex

dictex = loader()

它可以将所有的键和值保存在不同的文件中。我的下一步是将所有数据放在一个文件中。在

我尝试了以下方法,但它似乎只适用于一维字典。因为它无法读回以下错误消息。在

“值错误:字典更新序列元素#1的长度为0;需要2”

^{pr2}$

这是一个手工制作的数据集,与我正在使用的数据集类似。我想wirte dictdf到一个csv并用相同的结构读回它。在

import pandas as pd
import numpy as np
dates = pd.date_range('1/1/2000', periods=8)
df1 = pd.DataFrame(np.random.randn(8, 4),
index=dates, columns=['A', 'B', 'C', 'D'])

dates2 = pd.date_range('1/1/2000', periods=8)
df2 = pd.DataFrame(np.random.randn(8, 4),
index=dates, columns=['A', 'B', 'C', 'D'])

dictdf={}
dictdf['xxset']=df1
dictdf['yyset']=df2

谢谢你的关注。在


Tags: 文件csv数据keyimportdata字典as
1条回答
网友
1楼 · 发布于 2024-09-29 21:51:34

我不知道你的确切结构是什么keys.txt是或您的csv,但根据您的代码,我怀疑类似的事情将所有csv连接到一个数据帧中。

import pandas as pd

"""Reading data from keys"""
with open("keys.txt", "r") as f:
    keys = eval(f.read())
list_of_dfs = []

# Read in all csv files and append to list
for key in keys:
    list_of_dfs.append(pd.read_csv("data_{}.csv".format(str(key)))) # based on your example

# Join all dataframes into 1 big one
big_df = pd.concat(list_of_dfs)

编辑

如果要将字典保存为数据帧到1文件,则将其保存为pickle文件可能是一个更好的选择。 请参见this question

相关问题 更多 >

    热门问题