「已注销」 2020-12-23 17:22 采纳率: 0%
浏览 13

用 "" 分隔的文本数据如何提取并写入excel?

现有一个文本格式的数据,表头如下:

"卡号"	"编号"	"姓名"	"日期"	"SSSS"	"REPORT_EXAM_TYPE"	"REPORT_DATE"	"REPORT_EXAM_IMPRESSION"	"REPORT_EXAM_CONCLUSION"

下面的数据也是每个变量用 "" 分割且一一对应,但问题是同一个个体的数据不在同一行,所以提取困难,下面举例一个个体的数据:

"0066*****60656"	"101****"	"xxx"	"2016-08-31 08:00:00"	"gzdm术"	"增强 "	"2016-12-29 14:14:10"	"1.xxxxxxxxxxx:
xxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxx,xxxxxxxxxxxx;
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xxxxxxxxxxxxxxxxxxx;
xxxxxxxxxxxxxxxxxxxx。 
2.xxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xx,xxxxxxxxxxx
3.xxxxxxxxxxxxxxx。"	"xxxxx:
xxxxxxxxxx,xxx,xx;
"

我以前的做法是手动将数据转化成一行,如:

"0066*****60656"	"101****"	"xxx"	"2016-08-31 08:00:00"	"gzdm术"	"增强 "	"201612-29 14:14:10"	"1.xxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxx。2.xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx,xx,xxxxxxxxxxx3.xxxxxxxxxxxxxx。"	"xxxxx:xxxxxxxxxx,xxx,xx;"

然后再用pandas一次提取,代码如下:

import pandas as pd
import re

df = pd.read_table('xxx.txt', encoding='utf-8', sep='\s+')

df.to_excel('xxx.xlsx')

但本次数据包含3000多个个体,手工操作十分麻烦。

希望得到以下解决方案:

  1. 直接提取数据,每个个体放在excel中的一行,每两个 " 之间的数据放在一个单元格
  2. 如果不行,希望用代码代替手工操作,将同一个体的数据放到一行(删除同一个体数据中的所有换行符)

十分感谢

  • 写回答

1条回答 默认 最新

  • JJustRight 2020-12-23 22:49
    关注

    先用正则处理,然后再用pandas

     

    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab