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