python - 基于字符串拆分文本文件的代码不起作用,编译正常
问题描述
我有一个包含一些数据的文本文件。文本文件中的每一行都指定一个日期,并且有多行具有相同的日期。我编写了以下代码,根据日期将文本文件拆分为单个文件,用于多个预定日期。
f=open("2014 IONOSONDE.txt", 'r')
Dates = ["01-20-2014","01-21-2014","01-22-2014","01-24-2014","03-31-2014","04-01-2014","04-02-2014","04-02-2014","04-03-2014","04-04-2014","04-22-2014","04-23-2014","04-24-2014","04-25-2014","05-05-2014","05-06-2014","05-07-2014","05-08-2014","09-22-2014","09-23-2014","09-24-2014","09-25-2014","09-26-2014","11-25-2014","11-26-2014","11-27-2014","12-15-2014","12-16-2014","12-17-2014","12-18-2014","12-19-2014","12-20-2014","12-21-2014","12-22-2014"]
for i in range(0,34):
fw=open(str(Dates[i])+".txt",'w')
for line in f:
if Dates[i] in line:
print(line)
fw.write(line)
fw.close()
f.close()
代码编译得很好,并且制作了单独的文件,但是这些单独的文件中没有任何数据。请让我知道我做错了什么。我是一个绝对的编程初学者,只要能完成工作,我并不真正关心代码的优雅。
输入文本文件如下所示: 输入文件
输出文件应该看起来相同,只是它只限于一个特定日期(来自代码中提到的日期)。
解决方案
这最终奏效了。我必须更改 for 循环的位置以及删除日期中的零。
dates = ["1-20-2014","1-21-2014","1-22-2014","1-24-2014","3-31-2014", "4-1-2014","4-2-2014","4-2-2014","4-3-2014","4-4-2014","4-22-2014","4-23-2014","4-24-2014","4-25-2014","5-5-2014","5-6-2014","5-7-2014","5-8-2014","9-22-2014","9-23-2014","9-24-2014","9-25-2014","9-26-2014","11-25-2014","11-26-2014","11-27-2014","12-15-2014","12-16-2014","12-17-2014","12-18-2014","12-19-2014","12-20-2014","12-21-2014","12-22-2014"]
for i in range(0,34):
f=open("2014 IONOSONDE.txt",'r')
with open(str(dates[i])+".txt",'w+') as fw:
for line in f:
y=str(dates[i])
if y in line:
print(line)
fw.write(line)
推荐阅读
- python - 更改 seaborn clustermaps 中的字体样式
- c++ - 在 C++ 中使用类外部指针声明方法
- c++builder - C++Builder:如何在 UI 中隐藏黄线?
- laravel - 如何在 swagger 中创建示例 json 响应 - laravel
- datatables - 如何保存CoreUI数据表中所有表的搜索输入和页码(状态保存)
- python - Python 两个文本并排,宽度精确
- unity3d - Unity 不会执行脚本
- android - 如何在 Android Studio 中运行 JaCoCo 进行测试覆盖?
- node.js - 命令冷却 10 秒不工作不和谐机器人
- reactjs - 如何在一个函数中将多个 API 请求与 React 中的 fetch() 组合起来