Python Pandas将字符串转换为NaN

2024-09-28 10:11:06 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我用熊猫来读取excel文件和csv文件。这些文件包含字符串和数字,而不仅仅是数字。问题是我所有的字符串都被转换成了我根本不想要的NaN。我不知道什么类型的专栏将提前(实际上我的工作是处理系统,找出这一点),所以我不能告诉熊猫他们将是什么(这必须在以后)。我现在只想把每个单元格都当作一个字符串来读。在

这是我的密码

if csv: #check weather to read in excell file or csv
  frame = pandas.read_csv(io.StringIO(data))
else:
  frame = pandas.read_excel(io.StringIO(data))
tbl = []
print frame.dtypes
for (i, col) in enumerate(frame):
  tmp = [col]
  for (j, value) in enumerate(frame[col]):
    tmp.append(unicode(value))
  tbl.append(tmp)

我只需要能够产生一个列式二维列表,我可以从那里做一切。我还需要能够处理Unicode(数据已经是Unicode了)。在

如何构造“tbl”以使应该是字符串的单元格不出现“NaN”?在


Tags: 文件csv字符串iniopandasread数字
1条回答
网友
1楼 · 发布于 2024-09-28 10:11:06

在一般情况下,如果您不能提前知道CSV的数据类型或列名,那么使用CSV嗅探器会很有帮助。在

import csv
[...] 
dialect = csv.Sniffer().sniff(f.read(1024))
f.seek(0)

frame = pandas.read_csv(io.StringIO(data), dialect=dialect)

相关问题 更多 >

    热门问题