【发布时间】:2021-09-29 20:52:41
【问题描述】:
所以我有许多文件(1000ish),每个文件都有 90k 多行,其中数据以不正确的格式记录,我正在尝试重新格式化 txt 文件。
目前的数据是这样的:
9/3/2021 00 00 00 -0.18 -2.40 -2.40
2021 年 9 月 3 日 00 00 01 -0.18 -2.40 -2.40
2021 年 9 月 3 日 00 00 02 -0.18 -2.40 -2.40
2021 年 9 月 3 日 00 00 03 -0.17 -2.40 -2.40
.....
但是,它应该看起来像
9/3/2021,00:00:00,-0.18, , ,-2.40,-2.40
9/3/2021,00:00:01,-0.18, , ,-2.40,-2.40
9/3/2021,00:00:02,-0.18, , ,-2.40,-2.40
9/3/2021,00:00:03,-0.17, , ,-2.40,-2.40
....
我已经设法浏览了所有内容并添加了一个“,”
input = open(os.path.expanduser("~/Desktop/ssdat/SegY TidalCorrection 03092021.txt"))
content = input.read()
content = content.replace(" ", ",")
print(content)
导致输出:
9/3/2021,17,22,47,0.20,1511.10,-2.12,-2.29
9/3/2021,17,22,48,0.01,1511.10,-2.29,-2.29
9/3/2021,17,22,49,-0.17,1511.05,-2.41,-2.29
9/3/2021,17,22,50,-0.14,1511.02,-2.34,-2.30
所以我想我的问题是如何遍历所有内容以创建两个新的分隔符?
【问题讨论】:
-
你能举一个你想要的输出的例子吗?我不清楚您所说的“两个新分隔符”是什么意思。
-
谁应该使用数据?消费者不能将他的逻辑从分隔符 A 更改为分隔符 B 吗?
-
@danoscarmike 你好,所以基本上数据看起来像:9/3/2021 00 00 00 -0.18 -2.40 -2.40 但是它应该看起来像 9/3/2021, 00:00:00, -0.18, , , -2.40, -2.40 在第二种情况下,它是一个日期、时间(每秒以 ':' 作为分隔符),然后在该行的其余部分返回一个 ' , '跨度>
-
@balderman Heyya,消费者是一个应用程序,它将使用这些值对潮汐高度的差异进行校正,如果它的格式不正确,它根本不会接受数据。我已经更改了创建 txt 文件的原始应用程序,不再出现此问题,但我有很多数据需要手动更改,因此正在寻找更好的脚本解决方案。
标签: python database loops delimiter