Python 如何读取特殊的txt文件作为正常的数据帧。分隔符|&引用;,编码ANSI
我有一份来自SAP的txt文件格式的报告,使用的编码(根据IT人员)是“ANSI”。我可以看到分隔符是“|” 这是我第一次处理这样的文件,我只想像平常一样读取它,但我无法做到这一点。我肯定我做错了什么,但不明白是什么 我在这里读了一些类似于此链接的解决方案,但我一直得到空结果 我真的很感激任何帮助,因为我有12个这样的文件 该文件如下所示:Python 如何读取特殊的txt文件作为正常的数据帧。分隔符|&引用;,编码ANSI,python,python-3.x,pandas,dataframe,text,Python,Python 3.x,Pandas,Dataframe,Text,我有一份来自SAP的txt文件格式的报告,使用的编码(根据IT人员)是“ANSI”。我可以看到分隔符是“|” 这是我第一次处理这样的文件,我只想像平常一样读取它,但我无法做到这一点。我肯定我做错了什么,但不明白是什么 我在这里读了一些类似于此链接的解决方案,但我一直得到空结果 我真的很感激任何帮助,因为我有12个这样的文件 该文件如下所示: 5.04.2021 Lieferungen mit Auftragsdaten
5.04.2021
Lieferungen mit Auftragsdaten 1
| Lieferung | Pos|Angel.am |VStl|LFArt| |
|------------------------------------------|
| 9888477351|000010|24.01.2020|LC01|ZLSO |
| 9888401282|000010|11.01.2020|LC03|ZLSO |
您可以使用read table手动修复所有问题,如下所示:
import pandas as pd
t = \
"""
5.04.2021
Lieferungen mit Auftragsdaten 1
| Lieferung | Pos|Angel.am |VStl|LFArt| |
|------------------------------------------|
| 9888477351|000010|24.01.2020|LC01|ZLSO |
| 9888401282|000010|11.01.2020|LC03|ZLSO |
"""
with open('t.txt', 'w') as fn:
fn.write(t)
df = pd.read_table('t.txt', sep="|", header=2)
df = df[1:]
df = df[df.columns[1:-2]]
df.columns = [c.strip() for c in df.columns]
df.reset_index(drop=True, inplace=True)
列弗隆
销售时点情报系统
安吉尔·阿姆
VStl
阿尔法特
0
9888477351
10
24.01.2020
立法会一题
兹尔索
1.
9888401282
10
11.01.2020
立法会三题
兹尔索