使用python将字符串从文件导入到列表中

时间:2016-06-09 18:42:44

标签: python list

我有一个txt文件,包含以下内容:

a,b
c,d
e,f
g,h
i,j
k,l

我将它们放入列表中,使用以下几行:

keywords=[]
solutions=[]
for i in file:
    keywords.append((i.split(","))[0])
    solutions.append(((i.split(","))[1]))

但是当我打印()解决方案时,这里显示的是:

['b\n', 'd\n', 'f\n', 'h\n', 'j\n', 'l']

如何制作它,以便从前5个元素的末尾删除\ n -s,最后一个元素保持不变,使用尽可能少的行。

2 个答案:

答案 0 :(得分:2)

您可以使用str.strip()来修剪最后一个空格。但作为一种更加pythonic的方法,你最好使用csv模块来加载你的文件内容,它将接受一个分隔符并返回一个包含分隔项(这里是字符)的元组的迭代。使用zip()函数获取列。

import csv
with open(file_name) as f:
    reader_obj = csv.reader(f, delimiter=',') # here passing the delimiter is optional because by default it will consider comma as delimiter.
    first_column, second_column = zip(*reader_obj)

答案 1 :(得分:0)

阅读后,您需要string.strip()字符串中的空格/换行符以删除\n

keywords=[]
solutions=[]
for i_raw in file:
    i = i_raw.strip() # <-- removes extraneous spaces from start/end of string 
    keywords.append((i.split(","))[0])
    solutions.append(((i.split(","))[1]))