使用python中的csvreader水平读取CSV文件

时间:2019-03-14 20:38:46

标签: python file csv

根据我的研究,csvreader以这种格式读取数据

Name,Date,Job
John,3/14/2019,Doctor
Susan,3/14/2019,Cashier

但是,我存储的数据是这样格式化的

Name,John,Susan,
Date,3/14/2019,3/14/2019
Job,Doctor,Cashier

有没有办法让CSV阅读器以这种方式阅读?我目前没有它,但是当逗号之间出现新行时,它非常乏味。

2 个答案:

答案 0 :(得分:0)

我知道您正在尝试使用csv库,但是使用pandas和转置操作很容易。

将熊猫作为pd导入

df = pd.read_csv('horizo​​ntal.csv',index_col = 0)

>>> df
           John      Susan
Name                      
Date  3/14/2019  3/14/2019
Job      Doctor    Cashier

>>> df.T
Name        Date      Job
John   3/14/2019   Doctor
Susan  3/14/2019  Cashier

答案 1 :(得分:0)

尝试(not_csv.txt是一个包含您提供的数据的文件)

通过zip创建的数据结构是一个元组列表。

了解邮政编码here

with open('not_csv.txt', 'r') as f:
    data = [line.strip() for line in f.readlines()]
    for idx, entry in enumerate(data):
        if idx == 0:
            names = entry.split(',')[1:]
        elif idx == 1:
            dates = entry.split(',')[1:]
        elif idx == 2:
            jobs = entry.split(',')[1:]
merged_data = zip(names, dates, jobs)

print(merged_data)

输出

[('John', '3/14/2019', 'Doctor'), ('Susan', '3/14/2019', 'Cashier')]