如何在Python中将文本文件转换为列表

2024-09-28 18:55:43 发布

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

我在尝试将文本文件转换为由逗号分隔的列表列表时遇到问题。基本上,我想:

DATE  OF OCCURRENCE,WARD,LONGITUDE,LATITUDE
06/04/2011,3,-87.61619704286184,41.82254380664193
06/04/2011,20,-87.62391924557963,41.79367531770095

看起来像:

[["DATE  OF OCCURRENCE", "WARD", "LONGITUDE" , "LATITUDE"],
 ["06/04/2011", "3", "-87.61619704286184", "41.82254380664193"],
 ["06/04/2011", "20", "-87.62391924557963", "41.79367531770095"]]

这是我目前掌握的代码:

row = []
crimefile = open(fileName, 'r')
for line in crimefile.readlines():
    row.append([line])
    for i in line.split(","):
        row[-1].append(i)

但是,这让我得到了一个结果:

[['DATE  OF OCCURRENCE,WARD,LONGITUDE,LATITUDE\n', 'DATE  OF OCCURRENCE', 'WARD', 'LONGITUDE', 'LATITUDE\n'], 
['06/04/2011,3,-87.61619704286184,41.82254380664193\n', '06/04/2011', '3', '-87.61619704286184', '41.82254380664193\n'], 
['06/04/2011,20,-87.62391924557963,41.79367531770095', '06/04/2011', '20', '-87.62391924557963', '41.79367531770095']]

我只想把第一部分去掉,换成第二部分。我该怎么做?


Tags: ofin列表fordatelinerow逗号
3条回答

这看起来像一个CSV文件,因此可以使用pythoncsv module来读取它。例如:

import csv

crimefile = open(fileName, 'r')
reader = csv.reader(crimefile)
allRows = [row for row in reader]

使用csv模块可以指定如何处理引号和换行符等内容。请参阅我链接到上面的文档。

继续你已经开始的:

row = [[]] 
crimefile = open(fileName, 'r') 
for line in crimefile.readlines(): 
    tmp = []
    for element in line[0:-1].split(','):
        tmp.append(element)
row.append(tmp)

也许:

crimefile = open(fileName, 'r')
yourResult = [line.split(',') for line in crimefile.readlines()]

相关问题 更多 >