使用Python中的CSVReader水平读取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阅读器以这种方式阅读它?我目前正在没有它的情况下,但是当逗号之间出现新线条时,它很乏味。

我知道您正在尝试使用CSV库,但这很容易使用PANDAS和转置操作。

将大熊猫作为pd

导入

df = pd.read_csv('hixhontal.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

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

邮政编码创建的数据结构是元组列表。

在此处阅读有关zip的信息。

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')]

最新更新