【问题标题】:Reading a multiple line .txt file into an array Python [duplicate]将多行.txt文件读入数组Python [重复]
【发布时间】:2018-07-11 18:01:52
【问题描述】:

我有一个格式如下的文本文件

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

我将如何读取它并将其存储为一个类似于[[a,b,c,d,e,f],[g,h,i,j,k,l]] 的数组?

【问题讨论】:

  • 这里有ab等字符串吗?
  • 尝试按我的逻辑按“,”和“\n”分割,这将创建一个包含 2 个具有值的列表的列表
  • 您是否还费心搜索?有几十个(如果不是数百个)关于读取 csv 文件的堆栈溢出帖子。

标签: python arrays


【解决方案1】:

从文件中读取逗号分隔值时,最简单的方式是使用 Python 的 CSV 库,例如:

import csv

with open('input.csv', 'rb') as f_input:
    data = list(csv.reader(f_input))

print data

这也可以处理条目包含逗号(并用引号括起来)的情况。例如,这应该包含 6 个单元格:

a,b,c,"d,e,f",h,i

【讨论】:

    【解决方案2】:
    with open('yourfile.txt') as f:
        lines = [line.strip().split(',') for line in f]
    

    【讨论】:

    • 这不会在每个内部列表的末尾创建一个空元素吗?
    • 不,它会在内部列表周围创建一个无用的列表,并将换行符留在最后一个字符上。相应地编辑
    猜你喜欢
    • 2012-10-28
    • 2016-01-25
    • 2017-08-29
    • 2017-01-20
    • 2023-03-03
    • 2014-04-06
    • 1970-01-01
    相关资源
    最近更新 更多