我正在读取包含一些数据的文件。我希望将数据分成几个类别并将它们写入自己的文件(例如整数,如电话号码;小数;单个单词;和单独的句子)。
def data_reading():
data = []
integers = []
with open("my_lines.txt") as file:
for row in file:
row = row.strip().replace("\n", "")
data.extend(row.split(","))
for values in data:
if values.isnumeric():
print(values + " - integer")
integers.extend(row.split(","))
elif values.isalpha():
print(values + " - alphabetical strings")
elif values.isalnum():
print(values + " - alphanumeric")
else:
print(values + " - float")
return integers
somethin = data_reading()
print(somethin)
如果我要输入 123、abc、地址未知、20.12.85 之类的行,我的目标是获得 4 个列表来存储值,并使用这些列表将这些值写入具有单独写入功能的 4 个文件中。但是,现在我只存储最后一个浮点值的次数与我正在读取的数据文件中的行数相同(我试图用 isnumeric() 获取数字)。怎么来的?我似乎错过了什么。
您有两个单独的 for 循环,当您将整数放入列表时,您已经遍历了文件中的所有行,因此row
指向最后一行,即“20.12.85”。
使用integers.append(values)
(或替代integers.append(int(values))
,如果要存储一个实际的整数)。
像这样:
def data_reading():
data = []
integers = []
with open("my_lines.txt") as file:
for row in file:
row = row.strip().replace("\n", "")
data.extend(row.split(","))
for value in data:
if value.isnumeric():
print(value + " - integer")
integers.append(value)
elif value.isalpha():
print(value + " - alphabetical strings")
elif value.isalnum():
print(value + " - alphanumeric")
else:
print(value + " - float")
return integers
somethin = data_reading()
print(somethin)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句