0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python csvファイル読み込み

Last updated at Posted at 2020-07-12

pandasコマンドいろいろ

data2.csv
Nafn,Sysla,ID,Starfsgrein,Aldur,Kynlíf,
Dom,Árnessýsla,00027861s,Embættismaður,30,karlkyns
Ola,Gullbringusýsla,00033014s,bankastjóri,26,kona
Qiv,Vestur-Skaftafellssýsla,00087295j,Sjómaður,47,karlkyns
Uba,Suður-Múlasýsla,00043765e,Bóndi,66,kona
Yhe,Norður-Múlasýsla ,00021559e,Fréttaritari,35,kona

以下の例でしていること
・read_csvでindexを指定(指定しないと0, 1, 2, ・・・)
・列を指定して出力
・行を取得
・列を取得
・行をスライス
・行・列名を指定して値を取得
・行index、列indexを指定して値を取得

import pandas


csv_input = pandas.read_csv("data2.csv")
print('///csv_input///\n')
print(csv_input)
print('---------------')
print("///csv_input['ID']///\n")
print(csv_input['ID'])
print('---------------')
print('///csv_input.index.values///\n')
print(csv_input.index.values)
print('---------------')
print('///csv_input.columns.values///\n')
print(csv_input.columns.values)
print('---------------')
print('///csv_input.iloc[2, 3]///\n')
print(csv_input.iloc[2, 3])
print('---------------')
print("///csv_input.loc[2, 'Starfsgrein']///\n")
print(csv_input.loc[2, 'Starfsgrein'])
print('---------------')
print("///csv_input.loc[2:4, 'Starfssgrein']///\n")
print(csv_input.loc[2:4, 'Starfsgrein'])
print('---------------')
print('///csv_input.iloc[2:4, 3]///\n')
print(csv_input.iloc[2:4, 3])
print('---------------')

print('\n***************\n')

csv_input = pandas.read_csv("data2.csv", index_col=0)
print('///csv_input///\n')
print(csv_input)
print('---------------')
print("///csv_input['ID']///\n")
print(csv_input['ID'])
print('---------------')
print('///csv_input.index.values///\n')
print(csv_input.index.values)
print('---------------')
print('///csv_input.columns.values///\n')
print(csv_input.columns.values)
print('---------------')
print('///csv_input.iloc[2, 2]///\n')
print(csv_input.iloc[2, 2])
print('---------------')
print("///csv_input.loc['Qiv', 'Starfsgrein']///\n")
print(csv_input.loc['Qiv', 'Starfsgrein'])
print('---------------')
print("///csv_input.loc['Qiv':'Uba', 'Starfsgrein']///\n")
print(csv_input.loc['Qiv':'Uba', 'Starfsgrein'])
print('---------------')
print('///csv_input.iloc[2:4, 2]///\n')
print(csv_input.iloc[2:4, 2])

user_name@DESKTOP-3128479:/mnt/c/Users/TEST_USER/MyShell$ python3 pand_test.py
///csv_input///

  Nafn                    Sysla         ID    Starfsgrein  Aldur    Kynlíf
0  Dom               Árnessýsla  00027861s  Embættismaður     30  karlkyns
1  Ola          Gullbringusýsla  00033014s    bankastjóri     26      kona
2  Qiv  Vestur-Skaftafellssýsla  00087295j       Sjómaður     47  karlkyns
3  Uba          Suður-Múlasýsla  00043765e          Bóndi     66      kona
4  Yhe        Norður-Múlasýsla   00021559e   Fréttaritari     35      kona
---------------
///csv_input['ID']///

0    00027861s
1    00033014s
2    00087295j
3    00043765e
4    00021559e
Name: ID, dtype: object
---------------
///csv_input.index.values///

[0 1 2 3 4]
---------------
///csv_input.columns.values///

['Nafn' 'Sysla' 'ID' 'Starfsgrein' 'Aldur' 'Kynlíf']
---------------
///csv_input.iloc[2, 3]///

Sjómaður
---------------
///csv_input.loc[2, 'Starfsgrein']///

Sjómaður
---------------
///csv_input.loc[2:4, 'Starfssgrein']///

2        Sjómaður
3           Bóndi
4    Fréttaritari
Name: Starfsgrein, dtype: object
---------------
///csv_input.iloc[2:4, 3]///

2    Sjómaður
3       Bóndi
Name: Starfsgrein, dtype: object
---------------

***************

///csv_input///

                        Sysla         ID    Starfsgrein  Aldur    Kynlíf
Nafn
Dom                Árnessýsla  00027861s  Embættismaður     30  karlkyns
Ola           Gullbringusýsla  00033014s    bankastjóri     26      kona
Qiv   Vestur-Skaftafellssýsla  00087295j       Sjómaður     47  karlkyns
Uba           Suður-Múlasýsla  00043765e          Bóndi     66      kona
Yhe         Norður-Múlasýsla   00021559e   Fréttaritari     35      kona
---------------
///csv_input['ID']///

Nafn
Dom    00027861s
Ola    00033014s
Qiv    00087295j
Uba    00043765e
Yhe    00021559e
Name: ID, dtype: object
---------------
///csv_input.index.values///

['Dom' 'Ola' 'Qiv' 'Uba' 'Yhe']
---------------
///csv_input.columns.values///

['Sysla' 'ID' 'Starfsgrein' 'Aldur' 'Kynlíf']
---------------
///csv_input.iloc[2, 2]///

Sjómaður
---------------
///csv_input.loc['Qiv', 'Starfsgrein']///

Sjómaður
---------------
///csv_input.loc['Qiv':'Uba', 'Starfsgrein']///

Nafn
Qiv    Sjómaður
Uba       Bóndi
Name: Starfsgrein, dtype: object
---------------
///csv_input.iloc[2:4, 2]///

Nafn
Qiv    Sjómaður
Uba       Bóndi
Name: Starfsgrein, dtype: object

csvファイルを辞書に変換

DictReader関数を使用。

import csv


def get_data_csv(path, mode):
    list = []
    with open(path, mode) as f:
        dict_data = csv.DictReader(f)
        for dict in dict_data:
            list.append(dict)
    return list


if __name__ == "__main__":
    path = 'data2.csv'
    mode = "r"
    list = get_data_csv(path, mode)
    for dict in list:
        print(dict)
user_name@DESKTOP-3128479:/mnt/c/Users/TEST_USER/MyShell$ python3 get_csv.py
{'Nafn': 'Dom', 'Sysla': 'Árnessýsla', 'ID': '00027861s', 'Starfsgrein': 'Embættismaður', 'Aldur': '30', 'Kynlíf': 'karlkyns'}
{'Nafn': 'Ola', 'Sysla': 'Gullbringusýsla', 'ID': '00033014s', 'Starfsgrein': 'bankastjóri', 'Aldur': '26', 'Kynlíf': 'kona'}
{'Nafn': 'Qiv', 'Sysla': 'Vestur-Skaftafellssýsla', 'ID': '00087295j', 'Starfsgrein': 'Sjómaður', 'Aldur': '47', 'Kynlíf': 'karlkyns'}
{'Nafn': 'Uba', 'Sysla': 'Suður-Múlasýsla', 'ID': '00043765e', 'Starfsgrein': 'Bóndi', 'Aldur': '66', 'Kynlíf': 'kona'}
{'Nafn': 'Yhe', 'Sysla': 'Norður-Múlasýsla ', 'ID': '00021559e', 'Starfsgrein': 'Fréttaritari', 'Aldur': '35', 'Kynlíf': 'kona'}

csvファイルをリストに変換

reader関数を使用。

import csv


def get_data_csv(path, mode):
    list = []
    with open(path, mode) as f:
        data = csv.reader(f)
        for row in data:
            list.append(row)
    return list


if __name__ == "__main__":
    path = 'data2.csv'
    mode = "r"
    list = get_data_csv(path, mode)
    for element in list:
        print(element)
user_name@DESKTOP-3128479:/mnt/c/Users/TEST_USER/MyShell$ python3 get_csv.py
['Nafn', 'Sysla', 'ID', 'Starfsgrein', 'Aldur', 'Kynlíf']
['Dom', 'Árnessýsla', '00027861s', 'Embættismaður', '30', 'karlkyns']
['Ola', 'Gullbringusýsla', '00033014s', 'bankastjóri', '26', 'kona']
['Qiv', 'Vestur-Skaftafellssýsla', '00087295j', 'Sjómaður', '47', 'karlkyns']
['Uba', 'Suður-Múlasýsla', '00043765e', 'Bóndi', '66', 'kona']
['Yhe', 'Norður-Múlasýsla ', '00021559e', 'Fréttaritari', '35', 'kona']

参考URL

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?