如何将多个CSV中的数据附加到字典?

4nkexdtk  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(124)
import pandas as pd  `
from csv import DictReader  `
import glob  `

with open(path) as f: ` 
DictReader_obj = csv.DictReader(f)`  
for item in DictReader_obj:  `
      reader = dict(item)  `
      print(reader)

这段代码对于单个csv很好用,现在我尝试遍历各种相关的csv
初始化list_df = [],并尝试使用list_df= {}甚至df = [{ }]

for csvfile in csvfiles:  
    with open(csvfile, 'r') as f:  `
        DictReader_obj = DictReader(f, fieldnames = ['Symbols', 'Date', 'Open', 'High', 'Low', `'Close', 'Volumn']

    for item in DictReader_obj:
           reader = dict(item)
           list_df.append(reader)

只提供了一个csv文件的内容。我的类型(reader)是dict,而我的类型(list_df)是list。
我错过了什么?任何建议,因为我试图我的尽职调查研究和阅读,并认为自己学习这门艺术。
我希望我的所有CSV的内容在字典中。我知道我可以使用yFinance来获取信息,但我有CSV,并希望他们在本地,以避免任何yFinance阈值禁令
预期输出示例:

A                   Date    Open    High    Close    Volumn
             xx/xx/xxxx    xxx.xx   xxx.xx  xxx.xx  xxxxxxxxxx
             xx/xx/xxxx   xxxx.xx  xxxx.xx xxxx.xx  xxxxxxxxxx  
AA           xx/xx/xxxx   xxxx.xx  xxxx.xx xxxx.xx  xxxxxxxxxx 
             xx/xx/xxxx    xxx.xx   xxx.xx  xxx.xx  xxxxxxxxxx  
             xx/xx/xxxx   xxxx.xx  xxxx.xx xxxx.xx  xxxxxxxxxx  
AAPL         xx/xx/xxxx   xxxx.xx  xxxx.xx xxxx.xx  xxxxxxxxxx  
             xx/xx/xxxx   xxxx.xx  xxxx.xx xxxx.xx  xxxxxxxxxx  
             xx/xx/xxxx   xxxx.xx  xxxx.xx xxxx.xx  xxxxxxxxxx  
....
clj7thdc

clj7thdc1#

你可以使用panda.concat把你所有的csv文件聚合到一个 Dataframe 中。下面的path_files是你的csv文件的路径列表。如果需要的话,这样做的好处是可以把你的数据源保存在索引中。

import pandas as pd
reader = (
    (pd.read_csv(path_file_i) from path_file_i in path_files), 
    axis=0,
    keys=path_files
    )

如果你想把它作为一个字典,你需要把reader初始化为一个dict,然后把你的csv赋给字典中的一个条目。

reader = {}
for item in DictReader_obj: ` 
   reader[item] = ...

相关问题