Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Pandas读取列数不规则的CSV文件_Python_Pandas_Csv - Fatal编程技术网

Python 使用Pandas读取列数不规则的CSV文件

Python 使用Pandas读取列数不规则的CSV文件,python,pandas,csv,Python,Pandas,Csv,我正在尝试读取一个csv文件,它不包含标题行,并且包含不确定数量的列,带有熊猫 我已经搜索了如何解决这个问题,但我找到的所有答案都要求我已经知道(通过打开文件进行搜索)列可以拥有的最大数量,并在read\u csv函数上创建name=属性,如下所示: names = ["a", "b", "c", "d"] table = pandas.read_csv('freqs.tsv', header=None, sep='

我正在尝试读取一个csv文件,它不包含标题行,并且包含不确定数量的列,带有熊猫

我已经搜索了如何解决这个问题,但我找到的所有答案都要求我已经知道(通过打开文件进行搜索)列可以拥有的最大数量,并在
read\u csv
函数上创建
name=
属性,如下所示:

names = ["a", "b", "c", "d"]
table = pandas.read_csv('freqs.tsv', header=None, sep='\t+', names=names)
我的问题是,在不知道最大列数的情况下,是否有任何可能的方法来执行此操作?为了脚本将来的可重用性,如果可能的话,我想概括一下

下面是我用来运行一些测试的示例文本文件:

mathematics         1.548438245 1.4661764369999999      1.429891562 
english                     1.237816576 1.043399455
physics         2.415563662 11.165497484000001  5.954598265 7.853732762999999   7.929835858
drama           2.0439384830000003  9.81210385  5.068332477 8.579349377 5.962282599999999
health                      1.557941553 1.222267933
science                         1.550193476
gym             1.240610831 1.149375944 1.899408195 1.3713249980000002

谢谢

我得到了以下输出

0 1. 2. 3. 4. 数学 1.54844 1.46618 1.42989 楠 楠 英语 1.23782 1.0434 楠 楠 楠 物理学 2.41556 11.1655 5.9546 7.85373 7.92984 戏剧 2.04394 9.8121 5.06833 8.57935 5.96228 健康 1.55794 1.22227 楠 楠 楠 科学 1.55019 楠 楠 楠 楠 健身房 1.24061 1.14938 1.89941 1.37132 楠
那不是CSV文件。没有逗号。但让我们退一步。一旦数据进入大熊猫,你将如何处理这些数据?Pandas不喜欢可变长度的线,因为您无法对它们进行一般化处理。熊猫就像一个数据库;每列都是一个字段。这些数据不是这样的。完全有可能熊猫不是正确的工具。我只想补充一下上面的评论:这个文件中的间距有意义吗?也就是说,英语的第一列应该是空的吗?或者我们可以假设间距是任意的吗?我的错误是,我的意思是它正在读取一个文本文件,然后将信息转储到一个csv文件中。最初的意图是在以后迭代特定列,并对每个列进行一些计算(计算特定的平均值)。间距是任意的。给定的文本文件具有随机数量的
\t
分隔符。