问题标签 [readlines]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
109486 浏览

python - Python readlines() 使用和高效阅读实践

我在解析文件夹中的 1000 个文本文件时遇到问题(每个文件大约 3000 行,大小约为 400KB)。我确实使用 readlines 阅读了它们,

这对于我输入的样本(50,100 个文件)完全适用。当我在整个输入上运行超过 5K 文件时,所花费的时间远不接近线性增量。我计划进行性能分析并进行 Cprofile 分析。当输入达到 7K 文件时,更多文件所花费的时间随着达到更差的速率而呈指数增长。

这是 readlines 的累积时间,第一个 -> 354 个文件(来自输入的样本)和第二个 -> 7473 个文件(整个输入)

因此,我的代码所花费的时间不会随着输入的增加而线性缩放。我在 上阅读了一些文档注释readlines(),人们声称这会将整个文件内容读入内存,因此与orreadlines()相比通常会消耗更多内存。readline()read()

我同意这一点,但是垃圾收集器是否应该在循环结束时自动从内存中清除加载的内容,因此在任何时候我的内存都应该只有我当前处理的文件的内容,对吗?但是,这里有一些问题。有人可以对这个问题提供一些见解。

这是python垃圾收集器的固有行为readlines()还是我对python垃圾收集器的错误解释。很高兴知道。

此外,建议一些替代方法在内存和时间效率方面做同样的事情。TIA。

0 投票
1 回答
4453 浏览

python - 为 CSV 打开目录中的所有文件并读取每一行 Python

嗨,我正在就我遇到的问题寻求帮助。我想仅在某些文件类型中搜索我的数据所在的目录(如下所示)。下面是我的代码,但它不能正常工作。

当前输出是两个结果之一。要么只打印文件的第一行,要么只打印空白结果。

好的,这就是我想要做的。我想搜索仅列出 csv 文件的目录。然后我想要做的是让循环逐行读取每个文件并打印文件中的每一行,然后对其余的 csv 文件重复此操作。

谁能告诉我如何编辑下面的代码以仅搜索 CSV 文件,以及如何打印文件中的每一行,然后重复下一个 CSV 文件,直到找到并打开所有 CSV 文件。这可能吗?

谢谢你的帮助。

0 投票
2 回答
466 浏览

python - 从 CSV 文件 python 加载特定数据

我正在处理包含大量数据的 CSV 文件。每行包含格式如下所示的数据。

姓名、年龄、性别、出生年份

马克,18 岁,男,1978 年

玛丽,18 岁,男,1980 年

马库斯,18 岁,男,1978 年

该数据重复等等,大约有 200 行。我想知道的是有一种方法可以打开这个文件夹并阅读它,但只打印包含 1978 的行。对于上述数据,它只会打印 Mark 和 Marcus 行。

到目前为止,这是我的代码。我该如何编辑它以实现我的目标。可能吗?

0 投票
3 回答
362 浏览

python - 比 readlines 更好的方法?

使用 Python 2.5,我正在读取三个不同信息的 HTML 文件。我能够找到信息的方法是找到与regex * 的匹配项,然后从匹配行向下计数特定数量的行以获得我正在寻找的实际信息。 问题是我必须重新打开网站 3 次(我正在查找的每条信息一个)。我认为它效率低下,并且希望能够仅查找一次打开该站点的所有三件事。 有没有人有更好的方法或建议?

*我会学习更好的方法,比如 BeautifulSoup,但现在,我需要快速修复

代码:

谢谢,

我找到了一个可行的解决方案!我删除了两个无关的 urlopen 和 readlines 命令,只留下一个用于循环(之前我只删除了 urlopen 命令,但留下了 readlines)。这是我更正的代码:

0 投票
3 回答
528 浏览

python - 以“rU”打开不识别尾线

我有一个由在 SL6 上运行的 Fortran 程序创建的文本文件。看起来像:

1

我想将所有数字读入列表列表,因此我必须跳过前九行,但尽管打开为“rU”,Python 仍无法识别尾行。就像一个测试,这段代码:

输出(将 '\n' 作为字符串的一部分读取):

BlBlockq['1\n', ' R - Z 分箱 n. 1“1”,广义粒子n。223\n', ' R 坐标:从 0.0000E+00 到 1.1000E+02 cm,110 个 bin(1.0000E+00 cm 宽)\n', ' Z 坐标:从 -2.9000E+02 到 2.9000E+02 cm, 290 bins ( 2.0000E+00 cm 宽)\n', ' 轴坐标:X = 0.0000E+00, Y = 0.0000E+00 cm\n', ' 数据遵循矩阵 A(ir,iz) , format (1(5x,1p,10(1x,e11.4)))\n', '\n', ' 沿要求的轨道精确沉积\n', '这是轨道长度分箱\n' , ' 3.0406E-01 2.3565E-02 1.0664E-02 7.2081E-03 5.2534E-03 4.8756E-03 4.5011E-03 4.2792E-03 4.1801E-03 3.9648E-03 E-', ' 3.9108 03 3.8301E-03 3.7256E-03 3.6330E-03 3.5912E-03 3.5461E-03 3.4579E-03 3.

非常感谢您对此的任何帮助!

0 投票
1 回答
2245 浏览

python - Python文本文件行保持格式化

我正在编写一个简短的脚本来从文本文件中读取 1000 个名称,每个名称都在自己的行中。我需要让每个名字都大写,然后在开头和结尾加上一个星号。像 * JOHN DOE *。发生的情况是,当它在行中读取时,它会保留格式,因此每次在添加最后一个星号之前都会跳转到下一行。有什么想法吗?谢谢!

0 投票
3 回答
1301 浏览

python - 用 Python 解析

我正在尝试解析文件。目前,我有这个文件:

我正在尝试将这些单词存储word1 word2 word3word4一个数组中,并将与这些单词相邻的数字存储到另一个数组中。

所以如果我说a[0]我应该得到word1,如果我说b[0]我应该得到52345325等等。

我正在考虑制作一个键值对字典对象,但此时可能有点复杂,因为我刚刚进入 python。

我目前正在这样做,但当然,它不起作用:P

老实说,这是我使用 python 的第一个小时。我可以在 C++ 中轻松地做到这一点,但我目前只是想学习 python 以了解它比 C++ 更大的好处/简单性。

0 投票
2 回答
2057 浏览

python - Python(numpy)读取混合格式的文本文件

我有成千上万个这样的文件,我想提取与原子 ['CG', 'CD1', 'CD2', 'CE1', 'CE2', ' CZ'],

请注意,每个提到的原子都有两行。因此,我认为两个有 12 个键的字典最适合我的目标,就像这样

其中第一个键 (1, 2) 指的是第 5 列。

你能告诉我一种读取文件并将每个值元组分配到字典中正确位置的可靠方法吗?我可以使用多个 if 条件来做到这一点,但我认为必须有更好的方法(也许使用 numpy)

0 投票
4 回答
51037 浏览

python - Python从第二行到第十五行读取文本文件

我有一个文本文件,我需要从第二行读取到第 15 行,包括。我尝试了一些方法,但没有一种方法对我有用……如果有人能帮助我,我会很高兴……非常感谢!

0 投票
1 回答
252 浏览

python - Python - CSV 读取为一大行

我是 Python 新手,我正在从教程中学习,这里有这一行假设从 .csv 文件中读取并跳过第一行(标题):

问题是,它甚至没有进入循环。删除 open 语句中的 [1:] 并添加打印数据,我发现 csv 似乎被读取为一大行,而删除标题则删除了所有内容:

我该怎么做?