gpt4 book ai didi

python - 从 CSV 文件数据动态创建列表列表

转载 作者:太空宇宙 更新时间:2023-11-04 00:27:08 29 4
gpt4 key购买 nike

我有一个 CSV 文件,我想将其读取 作为配置文件来创建 列表列表 > 用于存储数据。

我的 CSV 文件的格式是:

list_name, search_criteria  
channel1, c1
channel2, c2
channel3, c3

我想在 CSV 文件中读取,并从 动态创建 listslist >list_name 数据,因为它会随着时间的推移而增长和缩小,我总是想要 CSV 文件中定义的任何内容。

CSV 文件中的 list_name 是我要动态创建的列表名称的“前缀”。例如,从 csv 文件中读取“channel1”、“channel2”、“channel3”,并创建一个列表列表,其中“mainList[]”是核心列表,其中包含 3 个名为“channel1_channel_list”、“channel2_channel_list”的列表,“channel3_cannel_list”。

我知道我的命名约定可以简化,所以请忽略。一旦我有一个可行的解决方案,我就会留下来。我将使用搜索条件来填充 mainLists[] 中的列表。

这是我不完整的代码:

mainList = []

with open('list_config.csv') as input_file:
dictReader = csv.DictReader(input_file)

for row in dictReader:
listName = row['list_name'] + '_channel_list'

最佳答案

以下是读取数据并根据数据创建字典的方法。

除了从文件中读取数据,csv 阅读器还可以从字符串列表中读取数据,这对于像这样的示例代码来说非常方便。对于您的数据,您需要指定 skipinitialspace=True 以跳过逗号后的空格。

import csv

data = '''\
list_name, search_criteria
channel1, c1
channel2, c2
channel3, c3
'''.splitlines()

dictReader = csv.DictReader(data, skipinitialspace=True)

main_dict = {}
for row in dictReader:
name = row['list_name'] + '_channel_list'
criteria = row['search_criteria']
main_dict[name] = criteria

# Print data sorted by list_name
keys = sorted(main_dict)
for k in keys:
print(k, main_dict[k])

输出

channel1_channel_list c1
channel2_channel_list c2
channel3_channel_list c3

此代码比 Joe Iddon 的版本稍微复杂一些,但如果每行有两个以上的条目,它会更容易适应。 OTOH,如果您每行只有两个条目,那么您可能应该使用 Joe 的更简单方法。

关于python - 从 CSV 文件数据动态创建列表列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47062262/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com