首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >读取多个csv文件并将内容存储为由不同名称引用的列表

读取多个csv文件并将内容存储为由不同名称引用的列表
EN

Stack Overflow用户
提问于 2019-01-22 17:53:05
回答 2查看 877关注 0票数 0

所以我的代码基本上是这样的:

代码语言:javascript
复制
def setup_list(file_name):
    for item in csv file:
        list = []
        list.append(item)

但是,我希望能够在每次运行函数时为list分配不同的名称。例如list_onelist_two等。我怎么能做到这一点?

来自评论:

最终目标也是将几个csv文件的内容存储在几个具有不同名称的列表中。这些文件在同一个文件中包含鸟类、日期和位置。

我有几个文件,因为用户可能有几个他们希望创建的鸟类列表(一个是在他们的县/州看到的鸟类,另一个是全世界看到的鸟类的文件等等)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-22 18:32:05

要将多个文件及其内容读入列表,请执行以下操作:

创建数据:

代码语言:javascript
复制
with open("birds1.txt","w") as f:
    f.write(f"""
Bird,Date,Location
Amsel,1.1.2018,Amerika
Drossel,2.1.2018,Alaska
Fink,3.1.2018,Pacific
""")

with open("birds2.txt","w") as f:
    f.write(f"""
Bird,Date,Location
Eagle,1.1.2018,Afrika
Milan,2.1.2018,Eurasia
AngryBird,3.1.2018,Rainbow Meadow
""")

负载数据:

代码语言:javascript
复制
import csv

def load_into_dict(d,filename):
    with open(filename) as f:
        csv_reader = csv.reader(f)
        name = filename.split(".")[0] 
        d[name] = []
        for row in csv_reader:
            if row:
                d[name].append(row)

data = {}
for n in ["birds1.txt","birds2.txt"]:
    load_into_dict(data,n)

对加载数据的使用:

代码语言:javascript
复制
print(data)
print(data["birds1"][1])

输出:

代码语言:javascript
复制
{'birds1': [['Bird', 'Date', 'Location'],      ['Amsel', '1.1.2018', 'Amerika'], 
            ['Drossel', '2.1.2018', 'Alaska'], ['Fink', '3.1.2018', 'Pacific']], 
 'birds2': [['Bird', 'Date', 'Location'],      ['Eagle', '1.1.2018', 'Afrika'], 
            ['Milan', '2.1.2018', 'Eurasia'],  ['AngryBird', '3.1.2018', 'Rainbow Meadow']]}

['Amsel', '1.1.2018', 'Amerika']

文档:

票数 1
EN

Stack Overflow用户

发布于 2019-01-22 18:03:28

您可以为列表创建一个字典,以所需的名称作为键,将列表作为值。

代码语言:javascript
复制
dictOfLists = {}

def setup_list(file_name, list_name):
    l = []
    for item in csv file:
        l.append(item)
    dictOfLists.update({list_name : l})

重命名变量通常是不实际的或不可取的,在大多数情况下不应该这样做。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54313894

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档