Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将文本数据拆分为列表?_Python_Split - Fatal编程技术网

Python 如何将文本数据拆分为列表?

Python 如何将文本数据拆分为列表?,python,split,Python,Split,我有一个这样的文本文件: 我想将其转换为: 使用Python,如何实现这一点?*您可以使用以下方法: data = [[int(i) for i in line.split(';')] for line in open(filename)] 使用csv模块的备选方案: import csv data = [[int(i) for i in ln] for ln in csv.reader(open(filename), delimiter=';')] 如果字符串列表是可接受的: data =

我有一个这样的文本文件:

我想将其转换为:


使用Python,如何实现这一点?*

您可以使用以下方法:

data = [[int(i) for i in line.split(';')] for line in open(filename)]
使用csv模块的备选方案:

import csv
data = [[int(i) for i in ln] for ln in csv.reader(open(filename), delimiter=';')]
如果字符串列表是可接受的:

data = [line.split(';') for line in open(filename)]
或同等csv:

data = list(csv.reader(open(filename), delimiter=';'))

您可以使用以下选项:

data = [[int(i) for i in line.split(';')] for line in open(filename)]
使用csv模块的备选方案:

import csv
data = [[int(i) for i in ln] for ln in csv.reader(open(filename), delimiter=';')]
如果字符串列表是可接受的:

data = [line.split(';') for line in open(filename)]
或同等csv:

data = list(csv.reader(open(filename), delimiter=';'))

由于您的数据似乎是某种类似CSV的数据,为什么不使用python的呢?这将处理编码并免费支持分隔符

如果您只需要一些代码,请使用str的split方法进行列表理解和拆分:


由于您的数据似乎是某种类似CSV的数据,为什么不使用python的呢?这将处理编码并免费支持分隔符

如果您只需要一些代码,请使用str的split方法进行列表理解和拆分:

"一,;2.3.4.拆分“;”将从字符串“1”生成列表[1,2,3,4];2.3.4',因此您只需对文件中的每一行执行以下操作:

def split_lists(filepath, sep=';'):
    with open(filepath) as f:
        line_lists = []
        for line in f:
            line_lists.append(line.split(sep))
        return line_lists
或者更紧密地理解

def split_lists(filepath, sep=';'):
    with open(filepath) as f:
        return [line.split(sep) for line in f]
"一,;2.3.4.拆分“;”将从字符串“1”生成列表[1,2,3,4];2.3.4',因此您只需对文件中的每一行执行以下操作:

def split_lists(filepath, sep=';'):
    with open(filepath) as f:
        line_lists = []
        for line in f:
            line_lists.append(line.split(sep))
        return line_lists
或者更紧密地理解

def split_lists(filepath, sep=';'):
    with open(filepath) as f:
        return [line.split(sep) for line in f]

作为多行字符串:

>>> s = """1;2;3;4
5;6;7;8"""

>>> [[int(x) for x in a.split(';')] for a in s.splitlines()]
[[1, 2, 3, 4], [5, 6, 7, 8]]

作为多行字符串:

>>> s = """1;2;3;4
5;6;7;8"""

>>> [[int(x) for x in a.split(';')] for a in s.splitlines()]
[[1, 2, 3, 4], [5, 6, 7, 8]]

谢谢这个有趣的问题,可以通过2个map和1个for loop来解决

s='1;2;3;4\n5;6;7;8'
map(lambda seq: [int(i) for i in seq], map(lambda x:x.split(';'), s.split('\n')))

谢谢这个有趣的问题,可以通过2个map和1个for loop来解决

s='1;2;3;4\n5;6;7;8'
map(lambda seq: [int(i) for i in seq], map(lambda x:x.split(';'), s.split('\n')))

你试过什么?你试过了吗?请把你的代码贴在这里你尝试了什么?你做了尝试吗?请在此发布您的代码,顺便说一句,我有一个巨大的数据,我试图将csv模块应用到它,我有MemoryError,我如何处理它?顺便说一句,我有一个巨大的数据,我试图将csv模块应用到它,我有MemoryError,我如何处理它?