我得到了某人的擅长,我需要每个月阅读数据。格式每次都不稳定,并且说“不稳定”我的意思是:
我需要的唯一数据来自tag_2,tag_3,每个月(month1 - month8)。我想找到一种使用Python的方法首先找到部分名称,然后在该部分下找到tag_2,tag_3,然后获取month1到month8的数据(月数也可能会改变)。
请注意,我不想通过在excel中指定位置来找到我需要的数据,因为每次都会更改位置。我该怎么做?
最终产品应该是一个pandas数据框,其中包含tag_2,tag_3的每月数据,其中一列显示数据来自哪个部分。
感谢。
答案 0 :(得分:0)
我认为您可以直接将其读作逗号分隔的文本文件。根据您的需要,您可以查看每行的tag2 ant tag3。
with open(filename, "r") as fs:
for line in fs:
cell_list = line.split(",")
# This point you will have all elements on the line as a list
# you can check for the size and implement your logic
答案 1 :(得分:0)
假设(可能是手动粘贴的)信息块不太可能在excel表的最右下角结束,您可以简单地遍历行和列(为每个行设置最大值以防止长搜索时间)直到你找到熟悉的价值(例如" A部分和#34;)并从那里开始。
除非我误解了你,否则这些格式的其余部分应该在几个月之间保持一致,这样你就可以简单地假设" month_1"始终是一个单元格,两个位于该初始点的右侧。
我没有亲自使用python中的excel表,所以我无法说明python中是否可以使用以下内容,但它肯定适用于ExcelVBA:
您也可以使用Range.find()方法来查找值" A部分"并继续上述相同的过程,也许将任何结果写入txt文件并在必要时从那里调用你的python脚本。
我希望这会有所帮助。