我有一个CSV文件,其中包含空格,即空行或随机换行,如下例所示
header1,data1
header2,data2
header4,data4
header6,data6
以下示例在CSV没有空格时正常工作,但有没有办法按空格加载CSV?
import csv
file = csv.reader(open('file.csv'))
blob = zip(*file)
答案 0 :(得分:1)
熊猫会工作:
import pandas
pandas.read_csv("tmp.txt", header=None)
0 1
0 header1 data1
1 header2 data2
2 NaN NaN
3 header4 data4
4 NaN NaN
5 header6 data6
您可能想要过滤掉NaN。
答案 1 :(得分:1)
我会在zip
[假设为open
]的python 2之前过滤行:
>>> import csv
>>> with open("blank.csv", "rb") as fp:
... reader = csv.reader(fp)
... rows = [line for line in reader if line]
... blob = zip(*rows)
...
>>> blob
[('header1', 'header2', 'header4', 'header6'), ('data1', 'data2', 'data4', 'data6')]
if line
这里基本上等同于if len(line) > 0
。