Python 从文件中填写列表
我有一个文件,其中包含用逗号分隔的单词,如:Python 从文件中填写列表,python,string,python-2.7,Python,String,Python 2.7,我有一个文件,其中包含用逗号分隔的单词,如: tom,harry,ant,qqqq aa,ww,rr,gg,aa,hh,ss 我想拆分每个元素,用逗号分隔,并填写如下列表: array=['tom','harry','ant','qqqq','aa','ww','rr','gg','aa','hh','ss'] 到目前为止,我尝试了: array=list() for i in open(filename): element = i.split(',',len(i)) ar
tom,harry,ant,qqqq
aa,ww,rr,gg,aa,hh,ss
我想拆分每个元素,用逗号分隔,并填写如下列表:
array=['tom','harry','ant','qqqq','aa','ww','rr','gg','aa','hh','ss']
到目前为止,我尝试了:
array=list()
for i in open(filename):
element = i.split(',',len(i))
array.append(element)
打印时,我遇到两个问题:
for i in array
print i
我获得了['tom'、'harry'、'ant'、'qqqq\n']
和['qqqq'、'aa'、'ww'、'rr'、'gg'、'aa'、'hh'、'ss\n']
我希望避免使用
\n
,并像前面所说的那样,使用换行符迭代文件生成行。显式删除换行符:
通过替换以下行:
element = i.split(',',len(i))
与:
或
您可以先剥离行以避免出现
\n
,然后使用扩展
而不是附加
:
for i in open(filename):
line = i.strip()
element = line.split(',')
array.extend(element)
Extend用于将元素添加到数组中,而不是添加数组本身。结果将是:
['tom','harry','ant','qqqq','aa','ww','rr','gg','aa','hh','ss']
而不是:
[['tom','harry','ant','qqqq'], ['aa','ww','rr','gg','aa','hh','ss']]
您可以使用正则表达式:
>>> import re
>>> re.split(r"[,\n]+", open(filename).read())
['tom', 'harry', 'ant', 'qqqq', 'aa', 'ww', 'rr', 'gg', 'aa', 'hh', 'ss']
由于它看起来像一个逗号分隔的文件,我建议您使用 输出:
['tom', 'harry', 'ant', 'qqqq', 'aa', 'ww', 'rr', 'gg', 'aa', 'hh', 'ss']
一艘班轮:
with open('myFile.txt', 'r') as myFile: array = myFile.read().replace('\n', ',').split(',')
在赋值时,还应避免使用数组、列表等名称。这是个坏习惯
如果你有任何其他问题给我一个下午 使用
element=i[:-1].split(“,”,len(i))
import csv
with open('file') as f:
csv_file = csv.reader(f)
L = []
for i in csv_file:
L.append(i)
print [i for j in L for i in j]
['tom', 'harry', 'ant', 'qqqq', 'aa', 'ww', 'rr', 'gg', 'aa', 'hh', 'ss']
with open('myFile.txt', 'r') as myFile:
array = myFile.read().replace('\n', ',').split(',')
for i in array:
print i
with open('myFile.txt', 'r') as myFile: array = myFile.read().replace('\n', ',').split(',')