# Python命令行终端分析后勤物资分配-音乐-机场-酒店评论数据

{% tabs %}
{% tab title="关键词" %}
Python | 命令行 | 终端 | 后勤物资 | 音乐 | 机场代码 | 酒店评价 | csv | Excel |&#x20;
{% endtab %}

{% tab title="梗概" %}
### **命令行工具初用**

csvkit 包是一组基于 Python 的工具，用于处理 CSV 文件：修复和清理、不同分隔和引用之间的转换、grep，甚至查询数据。

#### **删除 CSV 标头**

<figure><img src="https://2907506351-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcRbkePFdnJDPsCNQ6qJj%2Fuploads%2F4BnJTUWT0vvehljjeBzn%2Fimage.png?alt=media&#x26;token=30ccc523-1120-4036-bf0b-628da56d26b9" alt=""><figcaption></figcaption></figure>

如果我们想从 CSV 文件中删除标题行：

```
csvformat -K 1 data.csv > out.csv
```

我们可以使用 -K 2 删除前两行，或使用任何数字删除前 N 行。

#### **将标题行添加到 CSV**

插入标题行的快速方法是使用 --no-header-row 选项。这将插入一个模拟标题，其中包含名为“a,b,c…”的列：



要从 CSV 文件中删除列：

<figure><img src="https://2907506351-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FcRbkePFdnJDPsCNQ6qJj%2Fuploads%2Fu4TpfKRXDowly33DlXPc%2Fimage.png?alt=media&#x26;token=45fcf870-c98a-4921-b592-0bd3c8c517ca" alt=""><figcaption></figcaption></figure>

```
csvcut -C 3,4 data.csv > out.csv
```

如果我们只想保留特定列，同时删除其他所有内容，我们可以使用：

```
csvcut -c 1,2,5 data.csv > out.csv
```

#### **更改 CSV 分隔符**

要将 CSV 转换为制表符分隔 (TSV) 文件

```
csvformat -D ";" data.csv
```

id;name;price 1;Phone;123 7; 2;TV, Screens;34 3;Boot;5

#### **将逗号更改为制表符作为 CSV 分隔符**

要将 CSV 转换为制表符分隔 (TSV) 文件：

```
csvformat -T data.csv
```

id name price 1 Phone 123 7 2 TV, Screens 34 3 Boot 5

#### **更改 CSV 引用**

我们可以为 CSV 使用自定义引用符号：

```
csvformat -Q "'" data.csv
```

id,name,price 1,Phone,123 7, 2,'TV, Screens',34 3,Boot,5

#### **清理无效的 CSV 行**

在许多情况下，我们必须处理损坏的 CSV 文件。我们可以从 CSV 文件中过滤掉无效记录：

```
csvclean data.csv
```

该工具将创建 2 个文件：

```
data_err.csv
data_out.csv
```

现在我们可以分析 data\_err.csv 文件中的所有错误：

```
cat data_err.csv
```

line\_number,msg,id,name,price 2,"Expected 3 columns, found 2 columns",7, 3,"Expected 3 columns, found 4 columns",2,TV, Screens,34

#### **使用压缩的 CSV 文件**

csvkit 中的所有工具都支持 gzip 压缩，因此我们不需要解压缩：

```
csvformat compressed.csv.gz
```

#### **传输 CSV 数据**

我们还可以将 CSV 数据直接传输到 csvkit 命令，这使得动态处理其他程序的 CSV 输出非常有用：

```
echo '1,2,3,"hi"' | csvformat
```

1,2,3,hi

### **终端分析统计数据**

* 后勤物资分配统计数据
* 音乐数据分析
* 机场代码分析
* 酒店评价
{% endtab %}

{% tab title="关联链接" %}
{% embed url="https://viadean.notion.site/Python-c5521024e5d04b8bbe8b1c18336f0901?pvs=4" %}
{% endtab %}
{% endtabs %}

{% content-ref url="../zhi-dian-mi-jin-brief" %}
[zhi-dian-mi-jin-brief](../zhi-dian-mi-jin-brief)
{% endcontent-ref %}
