gpt4 book ai didi

python - 将制表符分隔文件的列读入变量

转载 作者:行者123 更新时间:2023-11-30 23:36:34 24 4
gpt4 key购买 nike

给定以下格式的制表符分隔文件,我需要按列方式执行操作。我知道的最简单的解决方案是使用 pandas 包,但是我的文件有几个演出,我很难阅读它。所以我决定使用普通的流媒体方法。

在这里,我想动态生成列变量(列数约为 500),每个变量将存储该特定列中的所有值,包括空格。例如:变量a将是一个列表[11,22,31,,42,555]

a   b   c   d   e   f
11 9 9 1 6
22 8 0 8 2
31 7 7 3 5
6 1 6 4
42 6 2 5 2 3
555 3 4 1 2

如何通过读取整个文件一次来生成这些变量?

最佳答案

您确实有两个问题合而为一。

<小时/>

The easiest solution that I know is to use pandas package, however my file being couple of gigs, I am having difficulty reading it. So I decided to use normal streaming method.

不要那样做。与用纯 Python 编写的任何内容相比,Pandas 可以使用更少的内存和时间来处理大量数据。而且也不太冗长。可以想象,下降到 numpy ,然后在阅读后对结果进行 pandasizing 会有所帮助,但下降到纯 Python 肯定会让事情变得更糟。

如果您的代码有问题,请向我们展示您的代码(以及生成等效示例数据的足够信息)。

<小时/>

Here, I want to generate column variables dynamically (the number of columns are ~ 500), each of which will store all the values in that particular column including banks. For ex: variable a will be a list [11,22,31,,42,555].

绝对不要这样做。您几乎不想像这样动态生成变量。它没有任何好处,而且还有很多缺点。

这正是字典的用途。而不是这个:

for column in columns:
create_variable_named(column[0]).set_to(column[1:])

只需这样做:

column_dict = {column[0]: column[1:] for column in columns}

然后你可以像这样访问它:

column_dict['a']

而且,如果您想迭代所有列,而不是这样:

for col in a, b, c, d, …, zz, aaa, …:

你可以这样做:

for col in column_dict.values():
<小时/>

如果您真的非常想创建动态变量,您可以。根据您要将它们添加到的范围或命名空间,它是以下之一:

globals()[name] = value
locals()[name] = value
setattr(module, name, value)
setattr(obj, name, value)
setattr(cls, name, value)

...等等。

关于python - 将制表符分隔文件的列读入变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430943/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com