Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/308.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_File - Fatal编程技术网

将文件除以PYTHON文件的第一列

将文件除以PYTHON文件的第一列,python,file,Python,File,我有以下类型的file.txt文件 65000 data1 data2 data3 65000 data1 data2 data3 . . . 65000 data1 data2 data3 65001 data1 data2 data3 . . . 65001 data1 data2 data3 对于每个参数,第一列的行数(第一个数字相同)是不同的,因此我不能使用简单的参数n=25作为示例 enter code here`lines_per_file = 69 shortfile = No

我有以下类型的file.txt文件

65000 data1 data2 data3
65000 data1 data2 data3
.
.
.
65000 data1 data2 data3
65001 data1 data2 data3
.
.
.
65001 data1 data2 data3
对于每个参数,第一列的行数(第一个数字相同)是不同的,因此我不能使用简单的参数n=25作为示例

enter code here`lines_per_file = 69
 shortfile = None
 with open('longfile.txt') as longfile:
    for lineno, line in enumerate(longfile):
        if lineno % lines_per_file == 0:
            if shortfile:
                shortfile.close()
                short_filename = 'small_file_{}.txt'.format(lineno + lines_per_file)
            shortfile = open(short_filename, "w")
        shortfile.write(line)
    if shortfile:
        shortfile.close()
如何将此文件分割为多个较小的文件?执行此操作

lines = 0
shortfile = None
with open('longfile.txt') as longfile:
   for lineno, line in enumerate(longfile):
       new_lines = line.split(' ')[0]
       if lines != new_lines:
           lines = new_lines
           if shortfile:
               shortfile.close()
               short_filename = 'small_file_{}.txt'.format(lines)
           shortfile = open(short_filename, "w")
       shortfile.write(line)
   if shortfile:
       shortfile.close()

这将导致每当新编号出现在前面时,就会创建一个新行文件

您可以创建文件块并将其写入单独的文件中。我猜您没有解决OP代码的其他各种问题,但您自己引入了一个错误:
new_num
应该是
new_行
(或反之亦然)。@PM 2Ring感谢您的输入错误,不,我想/希望这会让他走上正确的道路,因为他的问题非常模糊。非常好的代码。thx:)@user4252332:user2097159已经回答了您的问题,并修复了
short_filename
的名称创建,但代码仍然存在其他各种问题,特别是,现在无用的
枚举
。另外,代码顶部的
lines=0
可能会比
lines=None
更好。实际上,使用一些更有意义的变量名,而不是
新行
,例如
旧行
新行
,代码会更容易理解。