簡體   English   中英

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

[英]How can I remove nested lists encompassing all of my elements within a list?

我正在將.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']]

也許我們可以用這種方式修改代碼:

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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM