我有一个tsv文件,其中包含一些换行数据.
111 222 333 "aaa"
444 555 666 "bb
b"
Run Code Online (Sandbox Code Playgroud)
这里b的第三行是bb第二行的换行符,因此它们是一个数据:
第一行的第四个值:
aaa
Run Code Online (Sandbox Code Playgroud)
第二行的第四个值:
bb
b
Run Code Online (Sandbox Code Playgroud)
如果我使用Ctrl + C和Ctrl + V粘贴到excel文件,它运行良好.但是,如果我想使用python导入文件,如何解析?
我试过了:
lines = [line.rstrip() for line in open(file.tsv)]
for i in range(len(lines)):
value = re.split(r'\t', lines[i]))
Run Code Online (Sandbox Code Playgroud)
但结果并不好:
我想要:
Ser*_*sta 12
只需使用csv模块.它知道CSV文件中的所有可能的极端情况,例如引用字段中的新行.
with open("file.tsv") as fd:
rd = csv.reader(fd, delimiter="\t", quotechar='"')
for row in rd:
print(row)
Run Code Online (Sandbox Code Playgroud)
将正确输出:
['111', '222', '333', 'aaa']
['444', '555', '666', 'bb\nb']
Run Code Online (Sandbox Code Playgroud)
import pandas as pd
data = pd.read_csv ("file.tsv", sep = '\t')
Run Code Online (Sandbox Code Playgroud)