2

私はプログラミングが初めてなので、コーディングに関する浅い知識を許してください。Excel で開くことができる .csv ファイルがあります。各行は、個人の名前と詳細 (住所、電話番号、年齢など) を表し、各詳細は異なる列に表示されます。新しい行に移動するときはいつでも、それは別の人の詳細です。

この情報を Python にインポートして、各行 (つまり、その人のすべての詳細) が 1 つのタプル (各詳細が「,」で区切られている) になり、すべてのタプルをリストに入れたいと考えています。したがって、基本的にはタプルを含むリストです。

私はファイルを開くことからコーディングを開始しましたが、タプル内の人物の詳細とリスト内のすべてのタプルを実装する方法がわかりません。Python 2.7 を使用しています。

def load_friends(f):
"""
Takes the name of a file containing friends information as described in the
introduction and returns a list containing information about the friends
in the file.

load_friends(var) -> list

"""

openfile = open('friends.csv', 'Ur')
if f == 'friends.csv':
    openfile = open('friends.csv', 'Ur')
    lines = openfile.readlines()
    print lines
    openfile.close()
4

2 に答える 2

11

csvモジュールを使用すると、非常に簡単です。

import csv

with open('friends.csv', 'Ur') as f:
    data = list(tuple(rec) for rec in csv.reader(f, delimiter=','))

dataタプルのリストです。

csvモジュールはファイルを正しく読み取ります。

"Smith, John",123

と読みます

('Smith, John', '123')
于 2013-04-05T09:29:59.093 に答える
0
import csv
DIR = 'your dicrectory path'
openfile = csv.DictReader(open(DIR + '/file_name.csv', 'r'))
print .fieldnames
for p in filename:
    try:
        p = dict((k.strip().strip('\\t'), v) for k, v in p.iteritems() if v.lower() != 'null')
except AttributeError, e:
    print e
    print p
    raise Exception()
print p.get('Name'),p.get('Details')
于 2013-04-05T10:29:31.643 に答える