python - Pandas 因可变列而失败

标签 python file pandas multiple-columns

我的文件是这个

    4 7 a a
    s g 6 8 0 d
    g 6 2 1 f 7 9 
    f g 3 
    1 2 4 6 8 9 0

我正在使用 pandas 以 pandas 对象的形式保存它。但是我收到以下错误
pandas.parser.CParserError:标记数据时出错。 C 错误:第 3 行应有 6 个字段,但看到了 8 个

我使用的代码是
file = pd.read_csv("a.txt",dtype = None,delimiter = "")

任何人都可以提出一个包含文件的想法吗?

最佳答案

这是一种方法。

In [50]: !type temp.csv
4,7,a,a
s,g,6,8,0,d
g,6,2,1,f,7,9
f,g,3
1,2,4,6,8,9,0

读取 csv 到列表列表,然后转换为 DataFrame。

In [51]: pd.DataFrame([line.strip().split(',') for line in open('temp.csv', 'r')])
Out[51]:
   0  1  2     3     4     5     6
0  4  7  a     a  None  None  None
1  s  g  6     8     0     d  None
2  g  6  2     1     f     7     9
3  f  g  3  None  None  None  None
4  1  2  4     6     8     9     0

关于python - Pandas 因可变列而失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40880724/

相关文章:

c - 如何在没有 fseek 和 ftell 的情况下在 ANSI C 中获取文件大小?

Java:如何使用directoryChooser获取完整路径?

android - 在android中按大小排序文件列表

python - 如何在函数中获取python异常回溯

Python正则表达式非贪婪表现得像贪婪

python - 为什么python中有日期类

python - 通过仅跳过空白行来读取 excel 文件 (pd.read_excel())

python - 如何根据不同列的条件返回一列

python - 如何使用公共(public)列合并两个数据框?

python - 在计算 Pandas 创建的数据框中列的平均值时指定 "skip NA"