【发布时间】:2021-02-04 16:02:28
【问题描述】:
我是超级初学者,但我正在尝试做一个 python scrypt,它会从我通常从 oracle 软件下载的 txt 文件中提取我感兴趣的数据。 通常,当我将其复制粘贴到 excel 中时很好,但是当我尝试用 pandas 打开它时,数据是一团糟。
我需要做的是获取每个单元的数量、成本和折旧准备金(标有黄色)。
我尝试使用此代码开始,但似乎由于某种原因 python 以错误的方式读取数据,它创建了很多列。
import pandas as pd
import re
regex = 'I?N?\d{6,7}-'
df = pd.read_table('process data.txt', delim_whitespace=True, encoding='latin-1')
df['merged'] = df['COMPAN'] + df['COMPANCOMPANNY,']
series = df['merged']
df1 = series.str.contains(regex)
df['check'] = df1
df
而且输出真的很糟糕:
那么你对如何开始实际有任何提示吗?我在想也许有一种方法可以从 TXT 加载表格并根据已建立的宽度将其划分为列?我也在寻找那个解决方案,但找不到。
这是一个 SkyDrive 链接 EXAMPLE FILE 和粘贴为文本的相同示例:https://pastebin.pl/view/d3b2b4f8
提前致谢!
【问题讨论】:
-
请将您的示例数据以文本形式包含在内,而不是作为图片或指向外部站点的链接。在这种情况下,如果您在
read_csv中使用skiprows参数跳过标题行,似乎可能会得到一个不错的结果 -
感谢您的建议。我添加了 pastebin 链接。我也尝试跳过,但输出几乎相同,或者我在那里做错了什么
标签: python regex pandas oracle dataframe