我想从csv文件导入几行.问题是在文本中间包含分号和双引号的列很少.
因为我的天气是; 和csv引用是",所以它一见到就拆分列;并且"在文本的中间.
我的示例csv文件是:
"hello";"<SPAN onmouseup="__doPostBack('bb','')">;</SPAN> <SPAN onmouseup="__doPostBack('j','')" style="DISPLAY: none" Enabled="true"> ";"bye"
Run Code Online (Sandbox Code Playgroud)
读取行的代码是:
csv.reader((line.replace('\0','') for line in f) , delimiter=';',quotechar = '"')
for row in reader:
print row
and it prints ;['hello', "<SPAN onmouseup=__doPostBack('bb','')>", '</SPAN> <SPAN onmouseup="__doPostBack(\'j\',\'\')" style="DISPLAY: none" Enabled="true"> "', 'bye']
Run Code Online (Sandbox Code Playgroud)
我希望结果如下:
row[0] = hello
row[1] = <SPAN onmouseup="__doPostBack('bb','')">;</SPAN> <SPAN onmouseup="__doPostBack('j','')" style="DISPLAY: none" Enabled="true">
row[2] = bye
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
row[0] = hello
row[1] = <SPAN onmouseup="__doPostBack('bb','')">
row[2] = </SPAN> <SPAN onmouseup="__doPostBack('j','')" style="DISPLAY: none" Enabled="true">
row[3] = bye
Run Code Online (Sandbox Code Playgroud)
我已经使用了python split函数中" reader = csv.reader(open("yourfile.csv", "rb"), delimiter=';') "
定义的代码,但是这段代码仍将我的行拆分为4.
任何帮助将不胜感激.
谢谢..