Python。如何将.csv文件中的信息以列表形式导入到Python中,并在其中加入图元?[英] Python: How to import information from a .csv file to python as a list with tuples inside?

问题描述

我是编程的新手,所以请原谅我的浅层知识.我有一个可以使用Excel打开的.CSV文件.每行代表一个人的姓名及其详细信息(例如地址,电话号码和年龄),每个细节在不同的列中.每当我进入新行时,都是另一个人的细节.

我想将此信息导入python,以便每行(即该人的每个细节)都在1个元组中(每个细节都以a,'的分离),并且我希望列表中的所有元组.因此,基本上有一个列表,其中有元素.

我从打开文件的编码开始,但只是不知道如何在元组和列表中的所有元组中实现每个人的每个细节.我正在使用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()

推荐答案

csv module 非常简单:

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')

其他推荐答案

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')

本文地址:https://www.itbaoku.cn/post/779263.html