Python编写具有多行的范围循环
我正在尝试编写一个脚本,根据 循环中的范围,即Python编写具有多行的范围循环,python,Python,我正在尝试编写一个脚本,根据 循环中的范围,即nums=range(1750117570)。因此,在每一次增量中,第二列中的所有值将增量到17202,然后17203等,剩下的保持不变,有什么建议吗 数据已经在文件中,所以我需要某种形式的读取,然后写入输出,这可能吗 x1E 17201 18 0 1 0 0 1 x2E 17201 19 0 1 0 0 1 x3E 17201 20 0 1 0 0 1 x4E 17201 21
nums=range(1750117570)
。因此,在每一次增量中,第二列中的所有值将增量到17202,然后17203
等,剩下的保持不变,有什么建议吗
数据已经在文件中,所以我需要某种形式的读取
,然后写入
输出,这可能吗
x1E 17201 18 0 1 0 0 1
x2E 17201 19 0 1 0 0 1
x3E 17201 20 0 1 0 0 1
x4E 17201 21 0 1 0 0 1
x5E 17201 22 0 1 0 0 1
x6X 17201 23 0 1 0 0 1
x7X 17201 24 0 1 0 0 1
x8X 17201 25 0 1 0 0 1
x9X 17201 26 0 1 0 0 1
10X 17201 27 0 1 0 0 1
11X 17201 28 0 1 0 0 1
12X 17201 29 0 1 0 0 1
13X 17201 30 0 1 0 0 1
14X 17201 31 0 1 0 0 1
15X 17201 32 0 1 0 0 1
16X 17201 33 0 1 0 0 1
20X 17201 34 0 1 0 0 1
17X 17201 35 0 1 0 0 1
18X 17201 36 0 1 0 0 1
19X 17201 37 0 1 0 0 1
多亏了ROCKLY LI,我才有了这个工作。唯一的问题是,它需要按照上面的第3列进行数字排序,如何对文件中写入的输出进行排序
nums = range(17201,17920)
with open('Orig.txt', 'r') as fin:
with open('PLF.txt', 'w') as fout:
for line in fin.readlines():
line = line.split()
#if 17200 < int(line[1]) < 17920:
#print(line)
for i in range(0, len(nums),):
line[1] = int(line[1]) + 1
#line.append(str(line[1] + 1))
line = [str(e) for e in line] # Fix type
print(line)
#fout.write(' '.join(line) + '\n')
fout.write(' '.join(line) + '\n')
nums=范围(1720117920)
以open('Orig.txt','r')作为fin:
以open('PLF.txt','w')作为fout:
对于fin.readlines()中的行:
line=line.split()
#如果17200
我认为,与其就地编辑文件,不如生成一个新文件并保留旧文件更为合理,而且使用熊猫
import pandas as pd
df = pd.read_table('your_file.txt', header=None, delim_whitespace=True)
df[1] = df.apply(lambda x: x[1] + 1 if 17501 <= x[1] < 17570 else x[1])
df.to_csv('new_file.txt', sep=' ')
将熊猫作为pd导入
df=pd.read\u table('your\u file.txt',header=None,delim\u whitespace=True)
df[1]=df.apply(lambda x:x[1]+1,如果17501你说的是column,那么它是以什么方式表示的?一个csv?你为什么要循环?df['second']=range(1750117570)
?嗨,它将在一个文本文件中,向我们展示你的错误代码,我们可能会提供帮助。因此,不需要为你编码,我们只是帮助你修复它-maybe.nums=range(1750117570)f=open('test.txt','w'),open('test.txt','w')作为f:for范围内的i(0,len(nums)):f.write(“+str(nums[i])+”\n”)非常有趣,但我无法导入pandas的“没有名为pandas的模块”错误。有替代方法吗?使用pip安装pandas
不允许我安装(管理问题)当然有一个基本的(即不需要导入)解决方案,你知道了。我对数字很懒惰-自己检查一下。尽管存在文件“FileNotFoundError:[Errno 2]没有这样的文件或目录:'testplfer.txt',但仍会出现此错误
with open('your_file.txt', 'r') as fin:
with open('new_file.txt', 'w') as fout:
for line in fin.readlines():
line = line.split()
if 17000 < int(line[1]) < 18000:
line[1] = int(line[1]) + 1
line = [str(e) for e in line] # Fix type
fout.write(' '.join(line) + '\n')