解析CSV文件时忽略列间多余空格的方法:使用skipinitialspace参数

for 

file in files: kwargs={"encoding": 'utf-8'} with open(file, 'r', **kwargs) as csvfile: csvlines = csv.DictReader(csvfile, skipinitialspace=True) lines = lines + list(csvlines)
`skipinitialspace` 是一个参数,在 `csv.DictReader` 中使用,用来处理CSV文件中的空格问题。当你的CSV文件中,列之间的分隔符之后存在一个或多个空格,使用 `skipinitialspace` 参数可以让你忽略这些额外的空格。

默认情况下,`skipinitialspace` 是 `False`。这意味着如果存在额外的空格,它们会被保留在返回的字典中。但是,如果你设置 `skipinitialspace` 为 `True`,那么这些额外的空格会被忽略。

### 例子:

假设你有以下CSV内容:
Name, Age, Job
Alice,  28, Engineer
Bob,   30, Doctor
这里 `Age` 列后面有一个空格。

如果你使用默认的 `skipinitialspace=False`:
import csv

with open('data.csv', 'r') as file:
    reader = csv.DictReader(file)
    for row in reader:
        print(row)
输出会是:
{'Name': 'Alice', 'Age': ' 28', 'Job': 'Engineer'}
{'Name': 'Bob', 'Age': ' 30', 'Job': 'Doctor'}
可以看到 `Age` 列的值前有一个空格。

但是,如果你设置 `skipinitialspace=True`:
import csv

with open('data.csv', 'r') as file:
    reader = csv.DictReader(file, skipinitialspace=True)
    for row in reader:
        print(row)
输出会是:
{'Name': 'Alice', 'Age': '28', 'Job': 'Engineer'}
{'Name': 'Bob', 'Age': '30', 'Job': 'Doctor'}
可以看到 `Age` 列的值前的空格被忽略了。