在python中将excel或csv转换为列表或字典,或将word文档转换为列表

2024-04-27 22:56:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我希望我的最终结果是一本如下所示的词典

mydict = {0:'term1', 1:'term2',...'159:'term160'}

我有一个csv,它有一列数据,在该列的单行的每个单元格中都有几个字

到目前为止,我在这里找到的任何建议都没有帮助。最近的一个例子是,一个公式创建了多个有序字典,这些字典是从我的单列创建的,如下所示:

{['term1'], ['term2']}
{['term1'], ['term3']}
{['term1'], ['term4']}

因此,我不想这样做,而是想从列中创建一个列表。当使用下面的代码时,我收到的是[['term1'],['term2'],...['term160']],而不是像['term1', 'term2', 'term3',...'term160']这样的代码,当通过my_dict = dict.fromkeys(my_list_numbers, my_list_terms)my_list2 = list(range(0, 160))相结合时,我会打印出一个字典,其中包含与整个[['term1'],['term2'],...['term160']]匹配的范围内的每个数字

import csv

with open('filename.csv') as file:
    reader = csv.reader(file)
    data = list(reader)

print(data)

我只需要一个字典或一个字符串列表,我可以将其转换成一个字典,这样我就不必输入多个100+对的字典。我已经在谷歌上搜索和试验了一个多小时。我对代码比较陌生,但我觉得从excel、csv、word或文本文档中提取字符串列表应该不会这么难。或者干脆从我粘贴到单元格的列表中格式化,甚至

任何帮助都将不胜感激


Tags: csvterm1字符串代码列表data字典my
1条回答
网友
1楼 · 发布于 2024-04-27 22:56:04

假设文件temp.csv中的数据如下所示:

this_is_r1
this_is_r2
this_is_r3
this_is_r4

您可以将代码编写为:

import os
os.chdir("/home/username/Downloads")

res= dict()

with open("temp.csv", "r") as f:
    for k,x in enumerate(f):
        res[k] = x.replace("\n","")

print(res)

输出为:

{0: 'this_is_r1', 1: 'this_is_r2', 2: 'this_is_r3', 3: 'this_is_r4', 4: 'this_is_r5', 5: 'this_is_r6'}

正如Miguel Trejo所建议的,您还可以使用字典理解:

with open("temp.csv", "r") as f:
    res={k:x.replace("\n","") for k,x in enumerate(f)}

print(res)

相关问题 更多 >