我有一个.csv文件必须读取。它由空格分隔,但列名也有空格。类似这样的东西:
column1 another column final column
value ONE valueTWO valueTHREE
我一直试图用它来阅读,但它混淆了列名的空格(而不是分隔符(。我尝试使用read_fwf和read_csv,但没有成功:
df_mccf=pd.read_fwf(r'C:UsersMatíasGuerreroIrarráOneDrive - BIWISEROrizonMCCFinputsvalores-MCCF (3).csv',
colspecs=[(0, 4), (5, 10), (11, 21), (22, 32), (33, 54), (55, 1000)])
和:
df_mccf=pd.read_fwf(r'C:UsersMatíasGuerreroIrarráOneDrive - BIWISEROrizonMCCFinputsvalores-MCCF (3).csv',
sep=' ')
获取这个
和这行:
df_mccf=pd.read_csv(r'C:UsersMatíasGuerreroIrarráOneDrive - BIWISEROrizonMCCFinputsvalores-MCCF (3).csv',
encoding='UTF-16', delim_whitespace=True)
得到这个
任何帮助都会非常棒。
我建议您完全忽略标头,而是传递names
参数。这样,您就可以对文件的其余部分使用空白分隔符:
import io
import pandas as pd
data = """column one column two column three
a 1 x
b 2 y
"""
with io.StringIO(data) as f:
df = pd.read_csv(
f,
delim_whitespace=True,
names=['one', 'two', 'three'], # custom header names
skiprows=1, # Skip the initial row (header)
)
结果:
one two three
0 a 1 x
1 b 2 y