如何读取csv文件并将其转化为tsv文件

csv:逗号分隔符文件

tsv:制表分隔符文件

二者本质上都属于类文本文件,一般用excel和文本编辑器均可打开。

如果是在程序中读取,并进行相互转化,可以用pandas这个python库。

以下给出一个代码示例:

csv-tsv.py

import pandas as pd
from sklearn.utils import shuffle  # 用于数据的随机排列,也可不用


if __name__ == '__main__':
    # 此处是读取中文数据,如果是英文数据,编码可能是'ISO 8859-1'
    pd_all = pd.read_csv("./Test_Data.csv", sep=',', encoding='utf-8') 
    # 打乱数据    
    pd_all = shuffle(pd_all)
    # 保存为tsv文件,当然也可以保存为csv文件,二者区别在于sep为'\t'还是','
    pd_all.to_csv("./Test_Data.tsv", index=False, sep='\t', encoding='utf-8')

最后建议大家多了解一下pandas这个数据清洗的python库,很好用,能省不少事,我也是最近才用到的。

### 如何使用 Pandas 读取 CSV 文件进行数据可视化 通过 `pandas` 库,可以方便地读取 CSV 文件将其中的数据转化为 DataFrame 对象。随后可利用内置方法或者与其他绘图库(如 Matplotlib 或 Seaborn)结合完成数据可视化。 以下是具体操作: #### 1. 导入必要的库 为了实现数据的读取和可视化,需导入 `pandas` 和 `matplotlib.pyplot`: ```python import pandas as pd import matplotlib.pyplot as plt ``` #### 2. 使用 `pd.read_csv()` 方法读取 CSV 文件 可以通过指定文件路径以及分隔符参数来加载 CSV 数据。例如: ```python df = pd.read_csv('data/gapminder.tsv', sep='\t') # 如果是逗号分隔,则无需指定sep,默认为',' [^3] print(df.head()) # 查看前几行数据以确认是否成功加载 ``` #### 3. 进行基本的数据分析 在绘制图形之前,通常需要了解数据的基本情况。这可通过调用如下函数实现: - `df.info()`:查看每列的数据类型及是否存在缺失值。 - `df.describe()`:获取数值型字段的统计摘要。 #### 4. 绘制简单的图表 Pandas 提供了一些基础的绘图功能,可以直接基于 DataFrame 调用 `.plot()` 方法生成不同类型的图表。下面是一些常见例子: ##### (a)折线图 假设我们想观察某一年份各国的人均寿命变化趋势: ```python year_data = df[df['year'] == 1952] # 筛选特定年份的数据 plt.figure(figsize=(10, 6)) year_data.plot(x='country', y='lifeExp', kind='line', rot=90) plt.title('Life Expectancy by Country in 1952') plt.xlabel('Country') plt.ylabel('Life Expectancy') plt.show() ``` ##### (b)柱状图 如果希望比较各洲之间的 GDP 总量差异: ```python continent_gdp = df.groupby('continent')['gdpPercap'].sum() # 按大洲汇总GDP总量 continent_gdp.plot(kind='bar', color='skyblue') plt.title('Total GDP per Capita by Continent') plt.ylabel('GDP Per Capita Sum') plt.xticks(rotation=45) plt.tight_layout() plt.show() ``` ##### (c)散点图 探索两个变量间的关系时,散点图非常有用。比如人均收入与预期寿命的相关性: ```python plt.scatter(df['gdpPercap'], df['lifeExp'], alpha=0.5) plt.xscale('log') # 设置x轴为对数刻度以便更好地展示范围跨度较大的数据 plt.title('Relationship between GDP and Life Expectancy') plt.xlabel('GDP Per Capita (Log Scale)') plt.ylabel('Life Expectancy') plt.grid(True) plt.show() ``` 以上展示了如何借助 Pandas 完成从数据加载到初步可视化的流程[^1][^2]。 --- ###
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值