我正在加载一个包含浮点数和字符串数据混合的txt文件。我想将它们存储在一个数组中,我可以访问每个元素。现在我正在做
import pandas as pd
data = pd.read_csv('output_list.txt', header = None)
print data
这是输入文件的结构:1 0 2000.0 70.2836942112 1347.28369421 /file_address.txt
。
现在,数据将作为唯一列导入。如何划分它,以便分别存储不同的元素(所以我可以调用data[i,j]
)?我该如何定义标题?
答案 0 :(得分:121)
您可以使用:
data = pd.read_csv('output_list.txt', sep=" ", header=None)
data.columns = ["a", "b", "c", "etc."]
在代码中添加sep=" "
,在引号之间留一个空格。因此,pandas可以检测值之间的空格并按列排序。数据列用于命名列。
答案 1 :(得分:41)
我想补充上面的答案,你可以直接使用
df = pd.read_fwf('output_list.txt')
fwf代表固定宽度格式化的行。
答案 2 :(得分:22)
@ Pietrovismara的解决方案是正确的,但我只是想补充一下:不是有一个单独的行来添加列名,而是可以从pd.read_csv执行此操作。
df = pd.read_csv('output_list.txt', sep=" ", header=None, names=["a", "b", "c"])
答案 3 :(得分:17)
你可以用这个
import pandas as pd
dataset=pd.read_csv("filepath.txt",delimiter="\t")
答案 4 :(得分:6)
您可以这样做:
import pandas as pd
df = pd.read_csv('file_location\filename.txt', delimiter = "\t")
(例如df = pd.read_csv('F:\ Desktop \ ds \ text.txt',分隔符=“ \ t”)
答案 5 :(得分:3)
如果您没有为数据分配索引,并且不确定间距是多少,可以使用让熊猫分配索引并查找多个空格。
df = pd.read_csv('filename.txt', delimiter= '\s+', index_col=False)
答案 6 :(得分:2)
基于熊猫的最新更改,可以使用read_csv,read_table已弃用:
import pandas as pd
pd.read_csv("file.txt", sep = "\t")
答案 7 :(得分:2)
我通常首先查看数据,或者只是尝试将其导入并执行data.head(),如果您发现列之间用\ t分隔,则应指定 df = pd.read_csv(r'C:\Stuff\Python\Medical Appointment Data\792_3538_bundle_archive.zip\KaggleV2-May-2016.csv')
,否则,请{{ 1}}。
sep="\t"
答案 8 :(得分:1)
您可以使用它,这是最有用的。
df = pd.read_csv(('data.txt'), sep="\t", skiprows=[0,1], names=['FromNode','ToNode'])
答案 9 :(得分:1)
如果要使用指定的列名加载txt文件,则可以使用以下代码。它对我有用。
"scripts": {
"build": "cross-env NODE_ENV=production webpack",
"dev": "webpack-dev-server --content-base public",
"dev-build": "webpack"
}
答案 10 :(得分:0)
您可以这样使用read_table命令导入文本文件:
import pandas as pd
df=pd.read_table('output_list.txt',header=None)
加载后需要进行预处理