python - 将多个 CSV 文件加载到一个嵌套字典中
问题描述
我有多个 CSV 文件(每个股票代码一个),我想将它们加载到嵌套字典中,例如:
market_data["Symbol"] = { "Open": [], "High": [], "Low": [], "Close": [],
"Volume": [], "Adjusted": [], "Date": [], "MA_10":[] }
我对每个符号都有一个不同的 CSV 文件,每个 CSV 文件都有诸如 Open、High、Low 等数据,但不一定是相同的名称。我想将它加载到该数据结构中,但我无法弄清楚。
我希望它看起来像:
打印市场数据
{'SYMBOL2': {'High': [20, 22, 23, 19, 21], '音量': [100, 200, 300, 400, 500], '调整后': [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], '音量': [100, 200, 300, 400, 500], '调整后': [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 一起使用。
更新后的版本:
import csv
market_data = {}
list_of_files = ['AAPL.csv']
for file in list_of_files:
f = open(file, 'rt')
reader = csv.reader(f)
market_data[file] = {}
flag = False
headers = 0
for row in reader:
if (flag == False):
headers = row
for header in headers:
market_data[file][header] = []
flag = True
else:
data = row
print(data)
for a, header in zip(data, headers):
market_data[file][header].append(a)
print(market_data)
推荐阅读
- javascript - 如何将非结构化数据转换为结构化数据?
- c++ - 如何在 Cereal 中创建序列化接口?
- oracle - 具有搜索功能的页面项目类型穿梭框
- typescript - TypeScript 如何允许将 null 赋值给 null[] 类型?
- android - 在 Android 中使用 Retrofit 获取请求的表单数据
- c++ - 我的一段代码需要一些支持(c++)
- android - 如何从 GraphQL API 调用中获取 JSON 对象元素?
- java - 按下 HOME 按钮时,防止 android 活动进入暂停状态
- python - 使用转换器 run_ner.py 进行微调时出错
- java - 除非我添加新用户,否则我的用户列表或其他任何内容都不会出现