Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将多个CSV文件加载到一个嵌套字典中_Python_Python 3.x_Pandas_Csv_Dictionary - Fatal编程技术网

Python 将多个CSV文件加载到一个嵌套字典中

Python 将多个CSV文件加载到一个嵌套字典中,python,python-3.x,pandas,csv,dictionary,Python,Python 3.x,Pandas,Csv,Dictionary,我有多个CSV文件,每个股票符号对应一个CSV文件,我希望将其加载到嵌套字典中,如: market_data["Symbol"] = { "Open": [], "High": [], "Low": [], "Close": [], "Volume": [], "Adjusted": [], "Date": [], "MA_10":[] } 我有一个不同的CSV文件,每个符号和每个CSV文件的数据,如开放,高,低等,但不一定相同的名称。我想把它加载到那个数据结构中,但我想不出来 我希望

我有多个CSV文件,每个股票符号对应一个CSV文件,我希望将其加载到嵌套字典中,如:

market_data["Symbol"] = { "Open": [], "High": [], "Low": [], "Close": [],
    "Volume": [], "Adjusted": [], "Date": [], "MA_10":[] }
我有一个不同的CSV文件,每个符号和每个CSV文件的数据,如开放,高,低等,但不一定相同的名称。我想把它加载到那个数据结构中,但我想不出来

我希望它看起来像:

打印市场数据

{'SYMBOL2':{'High':[20,22,23,19,21],'Volume':[100200300, “调整后的”:[12,13,14,15,16],“较低的”:[10,12,13,9, 1] ,“MA_10”:[],“日期”:[“2015-01-01”,“2015-01-02”,“2015-01-03”, “2015-01-04”、“2015-01-05”]、“关闭”:[15,15,15,11,16]、“打开”: [12,13,14,15,16]},'SYMBOL1':{'High':[20,22,23,19,21], “量”:[100200300400500],“调整量”:[12,13,14,15,16], ‘低’:[10,12,13,9,1],‘MA_10’:[],‘日期’:[‘2015-01-01’, ‘2015-01-02’、‘2015-01-03’、‘2015-01-04’、‘2015-01-05’、‘关闭’:[15, 15,15,11,16],“开放”:[12,13,14,15,16]}

我身上没有像你这样的CSV,但这是我想到的。如果你有一个CSV我可以玩,我会很高兴地测试它,并作出改进

至少现在它似乎与AAPL.csv一起工作

更新版本:

我身上没有像你这样的CSV,但这是我想到的。如果你有一个CSV我可以玩,我会很高兴地测试它,并作出改进

至少现在它似乎与AAPL.csv一起工作

更新版本:


大致上,您可以按如下方式执行:

import pandas as pd
# enter your filenames in the list
# if they are in a particular directory
# you can also use os.listdir or something 
# like that to get the actual filenames
filenames= ['ibm.csv']
result_dict= dict()
for file in filenames:
    # load the csv in a dataframe
    df= pd.read_csv(file, sep=',')
    symbol= file.split('.')[0]
    symbol_dict= result_dict.setdefault(symbol, dict())
    # process the dataframe columnwise
    # turning each column into a key in the dict
    # and it's values into a list
    for col, ser in df.items():
        symbol_dict.setdefault(col, list()).extend(ser.to_list())

大致上,您可以按如下方式执行:

import pandas as pd
# enter your filenames in the list
# if they are in a particular directory
# you can also use os.listdir or something 
# like that to get the actual filenames
filenames= ['ibm.csv']
result_dict= dict()
for file in filenames:
    # load the csv in a dataframe
    df= pd.read_csv(file, sep=',')
    symbol= file.split('.')[0]
    symbol_dict= result_dict.setdefault(symbol, dict())
    # process the dataframe columnwise
    # turning each column into a key in the dict
    # and it's values into a list
    for col, ser in df.items():
        symbol_dict.setdefault(col, list()).extend(ser.to_list())


请提供一些示例扫描这些csv文件的来源?欢迎访问SO。这不是一个讨论论坛或教程。请花点时间阅读,以及该页面上的其他链接。我已经下载了这些csv文件。您从哪里获得该符号?它是否也包含在文件中,或者是文件名的一部分?请提供一些示例扫描这些csv文件的来源?欢迎使用SO。这不是一个讨论论坛或教程。请花点时间阅读,以及该页面上的其他链接。我已经下载了这些csv文件。您从哪里获得该符号?它是否也包含在文件中,或者它是文件名的一部分?我在执行“for row in reader”时出错,错误消息说列表没有属性拆分。此外,我有一个csv,但我不知道如何发送给你。13mdg5@queensu.ca这是我的电子邮件。或者考虑使用。若row是一个列表,那个么可能不需要那个特定的行。很乐意帮忙。还有什么问题,请在这里发表评论。@smci:你会怎么做?我的意思是,问题不在于写/读数据,数据已经存在于类似于字典的结构中,而在于读取类似于表的结构中的数据并将其读入字典。因此,我认为它应该是df.to_dict,但这不会更新现有的字典,而是为每个符号创建一个新的字典,因此,如果有多个文件包含同一符号的数据,它将不起作用。我在执行“for row in reader”时出错,错误消息说列表没有属性拆分。此外,我有一个csv,但我不知道如何发送给你。13mdg5@queensu.ca这是我的电子邮件。或者考虑使用。若row是一个列表,那个么可能不需要那个特定的行。很乐意帮忙。还有什么问题,请在这里发表评论。@smci:你会怎么做?我的意思是,问题不在于写/读数据,数据已经存在于类似于字典的结构中,而在于读取类似于表的结构中的数据并将其读入字典。因此,我认为它应该是df.to_dict,但这不会更新现有的字典,而是为每个符号创建一个新的字典,因此如果有多个文件包含同一符号的数据,它将不起作用。出于某些原因,这只存储列表中最后一个文件的信息。欢迎使用。你可能看过symbol_dict。结果_dict包含所有文件的信息,我刚刚验证过。非常感谢,这确实有效,我的错!我刚才在检查symbol_dict,没问题。感谢您重新测试。出于某些原因,这仅存储列表中最后一个文件的信息。欢迎使用。你可能看过symbol_dict。结果_dict包含所有文件的信息,我刚刚验证过。非常感谢,这确实有效,我的错!我刚才在检查symbol_dict,没问题。谢谢你的复试。