如何从csv格式的两行中提取数据,其中一行是标题,另一行是数据?

kxeu7u2r  于 2023-01-22  发布在  其他
关注(0)|答案(1)|浏览(131)

我有一个CSV工作表,其中第4行和第5行有两行数据。第4行是标题,第5行是相应的数据。如何提取数据并将其放入另一个CSV工作表?标题行的格式类似于

Title_XYZ[0].XXX_YYY_Record.XXX_YYY.AAA 
Title_XYZ[0].XXX_YYY_Record.XXX_YYY.BBB
Title_XYZ[1].XXX_YYY_Record.XXX_YYY.AAA 
Title_XYZ[1].XXX_YYY_Record.XXX_YYY.BBB
Title_XYZ[2].XXX_YYY_Record.XXX_YYY.AAA 
Title_XYZ[2].XXX_YYY_Record.XXX_YYY.BBB

每个新单元格中的数字都在变化?我不能用Pandas。
我尝试过使用导入CSV读取文件、提取文件进行读取以及使用

header = lines[4].split(',')

抓取数据并使用该数据写入新CSV文件,但只是复制和粘贴数据,而不是将AAA分配给AAA,将BBB分配给BBB。
数据如下所示:
| 标题_XYZ [0]. XXX_年_记录. XXX_年. AAA|标题_XYZ [0]. XXX_年_记录. XXX_年. BBB|标题_XYZ [1]. XXX_年_记录. XXX_年. AAA|标题_XYZ [1]. XXX_年_记录. XXX_年. BBB|
| - ------|- ------|- ------|- ------|
| 十二|十三|十四|十五|
输出应该如下所示
| 美国汽车协会|血脑屏障|
| - ------|- ------|
| 十二|十三|
| 十四|十五|

zynd9foi

zynd9foi1#

import pandas as pd
import re
data="""
Title_XYZ[0].XXX_YYY_Record.XXX_YYY.AAA Title_XYZ[0].XXX_YYY_Record.XXX_YYY.BBB Title_XYZ[1].XXX_YYY_Record.XXX_YYY.AAA Title_XYZ[1].XXX_YYY_Record.XXX_YYY.BBB
12  13  14  15
"""
records = []
regex = r"(?:(?P<AAA>\d+)\s(?P<BBB>\d+)){1,2}"
for match in re.finditer(regex, data):
        records.append(match.groupdict())

pd.DataFrame(records)

相关问题