Python将带有CRLF的文件转换为CSV/Excel中的新ROW



我正在尝试将API输出的文本文件转换为excel/CSV文件。文本文件由CRLF值组成,\r\n该值需要用作换行符,并在CSV/Excel文件中作为新行添加。

以下是文件示例:

b'2020-03-16 00:23:01,"00:42:26",0,0,0,0.000000E+00,0000000E+00\r\n020-03-16 00:24:01,"00:42/26",0,00,0,0000000E+00,0.000000E+000,0000000E\00\r\n020.03-16 00:25:02,"00:42-26",,0,0,0.00000000E+00,00.000000E+00\r\n 020-03-16 00.26:02,"00:02:26"E+00,0.00000E+00\r\n2020-03-16 00:27:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:28:02,"00:42:26",0,0,0,0000000E+00,0000000E+00\r\n2020-0-16 00:29:01,"00:42/26",0,00,0,0.00000E+00,00.00000E+000,0000000E+000\r\n020-03-16 00:30:01,31:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:32:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000,0000000E+00\r\n020-03-16 00:33:02,"00:42:2 6",,0,0,0.00000000E+00,0000000E+000,0000000E\00\r\n020-03-16 00:34:01,"00:42:26"\r\n2020-03-16 00:36:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:37:02,"00:42:26",0,0,0,0000000E+00,0000000E+00\r\n2020-0-16 00:38:02,40:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:41:01,"00:42:26",0,0,0,0000000E+00,0000000E+000,0000000E\00\r\n020-03-16 00:42:01,"00:42:06",,0,0,0.000000E+0000,0000000E+000,0000000E+000\r\n202-03-16 00:43:02,"00:42/26",0,00,0,0.00000000E+00,000000E+000:0000000E+00\r\n020-03-16 00:44:02,"00:42:20",0,0,0.000000000E+000,000000E+00.00 \r\n2020-03-16 00:45:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:46:02,"00:42:26",0,0,0,0000000E+00,0000000E+00\r\n2020-0-16 00:47:02,49:01,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:50:01,"00:42:26",0,0,0,0.000000E+00,0.000000E+000,0000000E+00\r\n020-03-16 00:51:02,"00:42:2 6",,0,0,0.00000000E+00,0000000E+000,0000000E\00\r\n020-03-16 00:52:02,\r\n2020-03-16 00:54:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:55:01,"00:42:26",0,0,0,0000000E+00,0000000E+00\r\n2020-0-16 00:56:02,"00:42/26",0,00,0,0.00000E+00,00.00000E+000,0000000E+0.00E+00\r\n 2020-03-116 00:57:01,58:02,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 00:59:02,"00:42:26",0,0,0,0.000000E+00,0000000E+000,0000000E+00\r\n020-03-16 01:00:33,"00:42:2 6",,0,0,0.00000000E+0000,0000000E+000,0000000E+000\r\n020-03-16 01 01:01,"00:42:26"n2020-03-16 01:03:01,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 01:04:02,"00:42:26",0,0,0,0000000E+00,0000000E+00\r\n2020-0-16 01:05:01,"00:42/26",0,00,0,0000000E+000,0000000E+300,0000000E+000\r\n020-03-16 01:06:02,07:01,"00:42:26",0,0,0,0.000000E+00,0.000000E+000\r\n2020-03-16 01:08:02,"00:42:26",0,0,0,0000000E+00,0000000E+000,0000000E+000\r\n2020-03-16 01:09:02,"00:42:2 6",,0,0,0.000000E+0000,0000000E+000,0000000E\000\r\n2020-0-16 01:10:01,"00:42:26"020-03-16 01:12:01,"00:42:26",0,0,0,0.000000E+00,0.000000E+000,0.00000E+00\r\n020-03-16 01:13:02,"00:42:26",0,0,0,0000000E+00,0000000E+000,0000000E+000

Pandas有办法处理csv的罚款。。。是的,即使在窗户上。

import io
import pandas as pd
data = b'2020-03-16 00:23:01,"00:42:26",0,0,0,0,0.000000E+00,0.000000E+00,0.000000E+00rn2020-03-16 00:24:01,"00:42:26",0,0,0,0,0.000000E+00,0.000000E+00,0.000000E+00rn2020-03-16 00:25:02,"00:42:26",0,0,0,0,0.000000E+00,0.000000E+00,0.000000E+00rn2020-03-16'
df = pd.read_csv(io.StringIO(data.decode('ascii')))

你可以写入一个csv文件

df.to_csv("filename")

或excel(前提是安装了excelwriter(

df.to_excel("filename.xls")

最新更新