繁体   English   中英

Excel Python 中的步骤公式

[英]Excel Steps Formula in Python

所以我冒险进入 python 脚本。 我是初学者,但我的任务是将 excel 公式转换为 python 代码。 我有一个包含 3+ 百万行的文本文件,每行有三列并由制表符分隔。

所有行都以字符串形式出现,前两列没有问题。 第三列的问题是,如果数据是数字,下载的内容会添加 0 的填充以构成 18 个字符。

在同一列中,还有一些值之间包含空格。 像 00 5372。有些是完全文本格式,由字母或字符标识,如 ABC3400 或 00-ab-fu-99 或 00-33-44-66。

A1      B1  Values            Output
AA00    dd  000000000000056484  56484
AB00    dd  00 564842   00 564842
AC00    dd  00-563554-f 00-563554-f
AD00    dd  STO45642    STO45642
AE00    dd   45632      45632

我需要清理此类代码以使 output 文本变得干净,而

  1. 离开之间的空间,
  2. 清洁前导和尾随空间,
  3. 如果前面用 0 填充,则清除该值。

我通过使用以下公式在 excel 中进行有限金额操作。

=TRIM(IFERROR(IF((FIND(" ";A2))>=1;A2);TEXT(A2;0)))

*由于区域语言设置而导致的分号。 对于大文件,我使用以下强大的查询步骤。

= Table.ReplaceValue(#"Trimmed Text", each [Values], each if Text.Contains([Values]," ") then [Values] else if Number.From([Values]) is number then Text.TrimStart([Values],"0") else [Values],Replacer.ReplaceValue,{"Values"})

首先修剪然后替换值。 这在 Power Query 中做得很好。 现在我想用 Python 脚本来做。 但是作为菜鸟,我一开始就被困住了。 谁能帮我处理图书馆和代码?

我的最终目标是将数据保存在具有清理值的 txt/csv 中。

Excel 截图

*编辑以更正点 1) 离开而不是删除并进一步澄清数据。

尝试下面的代码(用相应的列名替换 column1、column2、column3 并将 file_address 提供给变量 file_name,如果 python 脚本和 excel 文件保存在同一位置,那么只有名称就足够了):

import pandas as pd

df = pd.read_excel(file_name, sep='\t', lineterminator='\r', skipinitialspace=True)
df['column1'] = df['column1'].str.replace(' ','')
df['column2'] = df['column2'].str.replace(' ','')
df['column3'] = df['column3'].str.replace(' ','')
df.to_csv('output.csv',index=False)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM