mar*_*bse 6 python csv parsing line
我做了一些搜索,但大多数答案是关于阅读一个完整的csv文件,这些都不是我面临的问题.
我正在尝试使用urllib2从net读取文件:
request = urllib2.Request('http://.../tv.txt')
response = urllib2.urlopen(request)
lines = response.readlines()
for line in lines:
...
Run Code Online (Sandbox Code Playgroud)
"line"格式如下所示:
"ABC", "XYZ,MNO", "KLM"
"ABC", "MN"
"ABC", "123", "10", "OPPA GANGNAM STYLE", "LADY"
Run Code Online (Sandbox Code Playgroud)
如上所示,这些线实际上不是CSV线.列数不断变化.
有没有办法将每一行拆分成一个列表?欲望的结果应该是:
["ABC", "XYZ,MNO", "KLM"]
["ABC", "MN"]
["ABC", "123", "10", "OPPA GANGNAM STYLE", "LADY"]
Run Code Online (Sandbox Code Playgroud)
我已经尝试使用line.split(",")但它无法正确拆分,因为每对双引号内都有逗号.
如果你知道如何,请帮助我.非常感谢你.
干杯,
PHP的Python,Java的的MySQL新手.
使用csv模块,它可以满足您的需求.
yourstring= '"ABC", "XYZ,MNO", "KLM"\n"ABC", "MN"\n"ABC", "123", "10", "OPPA GANGNAM STYLE", "LADY"'
import csv
import io
class MyDialect(csv.Dialect):
strict = True
skipinitialspace = True
quoting = csv.QUOTE_ALL
delimiter = ','
quotechar = '"'
lineterminator = '\n'
b = io.StringIO(yourstring)
r = csv.reader(b, MyDialect())
for i in r:
print len(i), ':',' @ '.join(i)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10483 次 |
最近记录: |