我有一个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,最后一个元素保持不变,使用尽可能少的行。
答案 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]))