如何删除包含列表中所有元素的嵌套列表?

2024-09-30 06:11:55 发布

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

我正在将一个.csv文件读入一个列表,输出列表包含每个字符串元素的嵌套列表。我需要修改列表以仅包含字符串元素。我是否错误地使用了csv模块

import csv
import os

with open(os.path.expanduser("~/Desktop/Tracking_Info/kw_tracking_numbers.csv"), 'r') as tracking:
    reader = csv.reader(tracking)
    TrackList = list(reader)
    print(TrackList)

预期输出:['PL431243161', 'PL431245166', 'PL423032770']

实际输出:[['PL431243161'], ['PL431245166'], ['PL423032770']]


Tags: 模块文件csv字符串import元素列表os
2条回答

也许我们可以这样修改代码:

import csv
import os

with open(os.path.expanduser("~/Desktop/Tracking_Info/kw_tracking_numbers.csv"), 'r') as tracking:
    TrackList = [i[0] for i in csv.reader(tracking)]

    print(TrackList)

对于使用csv.reader的.CSV文件,从读卡器迭代返回的每个项都是该项中分隔值的序列。如果你有一列,你会得到一个列表,每行有一件事

如果文件没有分隔符,它就不是真正的.CSV文件。每一行都是一个单独的字符串,所以只需读入以下行:

import os

with open(os.path.expanduser("~/Desktop/Tracking_Info/kw_tracking_numbers.csv"), 'r') as tracking:
    TrackList = tracking.read().splitlines()
    print(TrackList)

相关问题 更多 >

    热门问题