Python 3.x 从具有不同列数和混合数据类型的csv文件读取数据-python

Python 3.x 从具有不同列数和混合数据类型的csv文件读取数据-python,python-3.x,pandas,numpy,Python 3.x,Pandas,Numpy,我有一个CSV文件,其中包含以下输入: 头衔;高数据 日期保存;01.01.2000;00:00 评论 放大;1.[m] 计数;4931 长度;5583;[m] 启动1;0;1475年 完1 ;;4931;1475年 Profil 1[微米] 529 528 等等 我想把计数和长度读入变量。问题似乎是有不同数量的列。我尝试了不同的方法将其加载到numpy数组或pandas数据帧中,但都没有成功。请帮帮我!谢谢大家! 编辑:这是我用来将其加载到熊猫数据帧中的代码: fin = pd.read_cs

我有一个CSV文件,其中包含以下输入:

头衔;高数据

日期保存;01.01.2000;00:00

评论

放大;1.[m]

计数;4931

长度;5583;[m]

启动1;0;1475年

完1 ;;4931;1475年

Profil 1[微米]

529

528

等等

我想把计数和长度读入变量。问题似乎是有不同数量的列。我尝试了不同的方法将其加载到numpy数组或pandas数据帧中,但都没有成功。请帮帮我!谢谢大家!

编辑:这是我用来将其加载到熊猫数据帧中的代码:

fin = pd.read_csv('Temp.csv', sep = ';')
df = pd.DataFrame(fin)

但在那之后,我无法从数据帧中读取数据…

这不是一个真正的CSV文件。如果要将文件解析为数据帧,通常需要查看类似于表的内容(例如:每列是一个功能,每行是一个示例/项目/人员)

这里似乎有三种类型的数据注释格式:

一,

二,

三,

如果有很多这样的文件,我建议您自己编写一个解析器;如果数据只是一个文件,我建议您将其重新格式化为一致的格式。最好是这样:

Title, Date Save, Comment, Magnification, ..., Profil 1, ...
High Data, 01.01.2000;00:00,,1,...,"529,528",...
...
编辑:如果您只关心计数和长度

我想把计数和长度读入变量

生成如下所示的df:

  Count Length
0  4931  5583
更简单的编辑:如果您只想将它们作为变量,而根本不关心数据帧:

lines = open(your_file).read().split('\n')
count = None
length = None
for line in lines:
    if(line.startswith('Length')):
        length=int(line.split(';')[1])
    if(line.startswith('Count')):
        count=int(line.split(';')[1])

提供一些代码,以获得进一步的帮助
Title, Date Save, Comment, Magnification, ..., Profil 1, ...
High Data, 01.01.2000;00:00,,1,...,"529,528",...
...
relevant_lines = [line.split(';')[:1] for line in open(your_file_name).read().split('\n') if line.startswith('Counts') or line.startswith('Length')]
df = pd.DataFrame([dict(relevant_lines)])
  Count Length
0  4931  5583
lines = open(your_file).read().split('\n')
count = None
length = None
for line in lines:
    if(line.startswith('Length')):
        length=int(line.split(';')[1])
    if(line.startswith('Count')):
        count=int(line.split(';')[1])