检查 csv 文件是否具有正确的列名 python

Ren*_*ade 1 python csv python-3.x pandas

我有一个要上传到数据库的 csv 文件,我想将标题/列与列表进行比较,以便我可以确保将正确的 csv 文件插入到数据库中,而无需打开 csv 文件,所以如果我有以下内容,Name Surname Age Height如果它不正确显示一些消息,则必须将其与 csv 标题进行比较。

jpp*_*jpp 5

您可以pd.read_csv与 一起使用nrows=0。下面是一个例子。

from io import StringIO
import pandas as pd

mystr = StringIO("""col1,col2,col3
val1,val2,val3""")

check_list = ['Name', 'Surname', 'Age', 'Height']
df_cols = pd.read_csv(mystr, nrows=0)

df_cols_list = df_cols.columns.tolist()

assert df_cols_list == check_list, "Columns are misaligned: {0} vs {1}".format(df_cols_list, check_list)

# ---------------------------------------------------------------------------
# AssertionError                            Traceback (most recent call last)
# <ipython-input-32-3638118067e8> in <module>()
#      10 df_cols_list = df_cols.columns.tolist()
#      11 
# ---> 12 assert df_cols_list == check_list, "Columns are misaligned: {0} vs {1}".format(df_cols_list, check_list)

# AssertionError: Columns are misaligned: ['col1', 'col2', 'col3'] vs ['Name', 'Surname', 'Age', 'Height']
Run Code Online (Sandbox Code Playgroud)