在python中使用标题读取多列tsv文件的最简洁方法是什么,但第一列没有标题,而是包含每行的行号?
这显然是来自R数据帧的文件的常见格式。
示例:
A B C
1 a1 b1 c1
2 a2 b2 c2
3 a3 b3 c3
有什么想法吗?
答案 0 :(得分:17)
取决于您之后要对数据执行的操作(如果文件确实是带有\ t分隔符的tsv)。如果您只想在一组列表中使用它,可以使用csv
模块,如下所示:
import csv
with open("tsv.tsv") as tsvfile:
tsvreader = csv.reader(tsvfile, delimiter="\t")
for line in tsvreader:
print line[1:]
但是,除了简单的python操作之外,我还推荐DataFrame
pandas
模块。它可以这样使用:
from pandas import DataFrame
df = DataFrame.from_csv("tsv.tsv", sep="\t")
DataFrames允许对数据集进行高级操作,例如添加列,查找平均值等。
答案 1 :(得分:1)
如何使用以下本机Python代码:
with open('tsvfilename') as f:
lines = f.read().split('\n')[:-1]
for i, line in enumerate(lines):
if i == 0: # header
column_names = line.split()
# ...
else:
data = line.split();
# ...
答案 2 :(得分:1)
导入熊猫库
import pandas as pd
data = pd.read_csv('/ABC/DEF/TSV.tsv', sep='\t')
答案 3 :(得分:0)
df = DataFrame.from_csv("tsv.tsv", sep="\t")
已弃用
df.read_csv("tsv.tsv", sep="\t")
可能正在工作
答案 4 :(得分:0)
DataFrame.from_csv("tsv.tsv", sep="\t")
不再工作。 使用
df.read_csv("tsv.tsv", sep="\t")
答案 5 :(得分:0)
pandas.read_csv("file.tsv")
DataFrame.from_csv()
不起作用。 DataFrame.read_csv()
不正确。