pythonでcsvのデータを辞書型でPCにin memoryで格納したい

おせわになります。
open w で下記の様に、csvを作りました

import csv

data = {'hito' : 61,'hiro' : 54,'yuto'  :  17,'osamu': 67,'keiko':71}

with open('name.csv', 'w', newline='') as csv_file:
    fieldnamse = ['Name', 'Date']
    writer = csv.DictWriter(csv_file,fieldnames=fieldnamse)
    writer.writeheader()
    for name, key in data.items():
        writer.writerow({
        'Name': name,
        'Date': key
        })

結果は下記の通りです。

Name,Date
hito,61
hiro,54
yuto,17
osamu,67
keiko,71

今度、csvに保存したデータを、PCのメモリに格納したいのです。仮想メモリでも良いです。
下記の様にしました。

import csv
with open('name.csv', 'r') as csv_file:
    reader = csv.DictReader(csv_file)
    print('Name','Date')
    d ={}
    for row in reader:
        print(row['Name'], row['Date'])

これでは、ただ、print文で、表示されるだけですし、row[‘Name’], row[‘Date’]を
一回だけメモリに格納するだけで、Loop中に書き換わってしまいます。

with open('name.csv', 'r') as csv_file:
    reader = csv.DictReader(csv_file)
    print('Name','Date')
    d ={}
    for row in reader:
        A =row['Name']
        B =row['Date']
    return read_data`

A, Bのそれぞれに格納されるデータは、書き換わってしまいます。
配列の様なものを、本やWEBで検索していますが、見つかりません。
他のサイトで質問しても、高度な内容の回答しか届いていません。

  read_data.append(row['Name']....)

の様な感じですが、appendは使用できません。
最後にreturnで、read_dataに格納されるイメージの方法を考えています。
あくまで、辞書形式で、pandasは使用しない方法を考えています。

結果として、上記のcsvのデータが、辞書データ、dataが入る事になりますが、メモリにデータを要求仕様通り、処理してから、open w あるいは、r+で変更する事が最終目標です、

classを使えば何とかやれそうなんですが、大掛かりになりそうなので、手が止まっています。
以上、よろしくお願いします。
    

Leave a Reply

Your email address will not be published. Required fields are marked *