使用python用特定位置的字符重新格式化txt文件



一个新手程序员在这里问一个问题。我已经搜索了所有的论坛,但找不到解决这个问题的东西,我认为会有一个简单的功能。有办法做到这一点吗?

我正试图重新格式化一个txt文件,所以我可以使用它与pandas函数,但这需要我的数据是在一个特定的格式。

目前我的数据是以下格式的txt文件:

01/09/21,00:28,7.1,75,3.0,3.7,3.7,292,0.0,0.0,1025.8,81.9,17.1,44,3.7,4.6,7.1,0,0,0.00,0.00,3.0,0,0.0,292,0.0,0.0
01/09/21,00:58,7.0,75,2.9,5.1,5.1,248,0.0,0.0,1025.9,81.9,17.0,44,5.1,3.8,7.0,0,0,0.00,0.00,1.9,0,0.0,248,0.0,0.0

需要这样格式化,以便使用pandas进行处理:

["06/09/21","19:58",11.4,69,5.9,0.0,0.0,0,0.0,0.3,1006.6,82.2,21.8,52,0.0,11.4,11.4,0,0,0.00,0.00,10.5,0,1.5,0,0.0,0.3],
["06/09/21","20:28",10.6,73,6.0,0.0,0.0,0,0.0,0.3,1006.3,82.2,22.4,49,0.0,10.6,10.6,0,0,0.00,0.00,9.7,0,1.5,0,0.0,0.3],

这需要在开始处添加[",在日期末尾逗号之前添加",然后在逗号之后添加另一个",在时间部分末尾添加另一个"。在行尾,我还需要添加一个],

我认为这样的东西会工作,但我得到一个错误,当试图运行它。

info = 
06/09/21,19:58,11.4,69,5.9,0.0,0.0,0,0.0,0.3,1006.6,82.2,21.8,52,0.0,11.4,11.4,0,0,0.00,0.00,10.5,0,1.5,0,0.0,0.3


info=info[:1] +"['" +info[1:]

print (info)

我有超过1000行数据,所以手工做是不可能的。我见过其他类似的问题,但他们没有得到有用的答案。这可以做到吗,最好是用方法或循环?

您混淆了数据的内容和数据的表示。实际上根本不需要括号和引号。你需要的是一个包含字符串和整数的列表。您在这里展示的是Python如何打印包含字符串和整数的列表。该列表实际上不包含括号或引号。

您可以直接在该数据文件上使用pandas.read_csv,而不需要额外的处理。您只需要提供列名。