Joh*_*Doe 4 python parsing python-3.x delimiter-separated-values
我正在尝试解析管道分隔文件并将值传递到列表中,以便稍后我可以从列表中打印选择性值.
该文件看起来像:
name|age|address|phone|||||||||||..etc
Run Code Online (Sandbox Code Playgroud)
它有超过100列.
Spe*_*bun 30
使用csv库.
首先,注册你的方言:
import csv
csv.register_dialect('piper', delimiter='|', quoting=csv.QUOTE_NONE)
Run Code Online (Sandbox Code Playgroud)
然后,在文件上使用您的方言:
with open(myfile, "rb") as csvfile:
for row in csv.DictReader(csvfile, dialect='piper'):
print row['name']
Run Code Online (Sandbox Code Playgroud)
vim*_*ist 15
如果您正在解析一个非常简单的文件,该文件不包含|实际字段值中的任何字符,您可以使用split:
fileHandle = open('file', 'r')
for line in fileHandle:
fields = line.split('|')
print(fields[0]) # prints the first fields value
print(fields[1]) # prints the second fields value
fileHandle.close()
Run Code Online (Sandbox Code Playgroud)
小智 10
import pandas as pd
pd.read_csv(filename,sep="|")
Run Code Online (Sandbox Code Playgroud)
这会将文件存储在数据框中。对于每一列,您可以应用条件以选择要打印的所需值。执行时间很短。我尝试了111047行。
| 归档时间: |
|
| 查看次数: |
39046 次 |
| 最近记录: |