我有一个包含大量数字的.txt文件。
我的代码所做的是读取文件,如果找到一个数字,它会将其添加到名为duns的列表中。一旦duns的长度为9,它就会将这些数字添加到名为fileSize的另一个列表中。一旦fileSize的长度为50(总共450个数字),我想在逗号分隔的.txt文件中写入fileSize的内容。我希望为每450个号码创建一个文件。
我的代码基本上有效。 我遇到的问题是当我想打开应该写下fileSize的文件时。
这是我的代码:
from os import chdir
import numbers
chdir("C:\\Users\\u1080476\\Desktop\\Code\\TMO")
filename = "DUNS_par_bloc.txt"
fileSize = []
duns = []
count = 0
numbers = ['1', '2', '3', '4', '5', '6','7','8','9','0']
f = open(filename, "r")
while True:
c = f.read(1)
if not c:
print("End of File")
break
print("read a character: ",c)
for num in numbers:
if c == num:
if len(duns) < 9:
duns.append(c)
else:
fileSize.append(''.join(duns))
duns = []
if len(fileSize) == 50:
chdir("C:\\Users\\u1080476\\Desktop\\Code\\TMO\\files")
count += 1
text_file = open(count,".txt", "a")
strBigFile = ','.join(fileSize)
text_file.write(strBigFile)
text_file.close()
f.close()
我得到的错误是:
Traceback (most recent call last):
File "C:\Users\u1080476\Desktop\Code\TMO\read.py", line 33, in <module>
text_file = open(count,".txt", "a")
TypeError: an integer is required (got type str)