首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在.csv中具有两个不同表的pd.read_csv问题

在.csv中具有两个不同表的pd.read_csv问题
EN

Stack Overflow用户
提问于 2020-04-22 11:43:41
回答 2查看 45关注 0票数 0

我有一个csv文件,它是在信息之上设置的信息,我正在努力将其读取到数据帧中。

原始CSV如下所示:

我希望得到基本上3个不同的东西: 1)在第一行定义日期和公司名称2)将汇总表(顶层表)放入数据框3)将详细的sales表放入另一个数据框

我尝试了df = pd.read_cs(filepath,error_bad_lines=False),它只给出了汇总表,但是只有3行,因为第一行只有3列。对如何阅读这些文件有什么想法吗?汇总表的行号不固定(行数不同)。任何帮助都将不胜感激!谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-26 08:08:36

对于那些感兴趣的人,这是我用来解决这个问题的方法:

代码语言:javascript
运行
AI代码解释
复制
from csv import reader

with open('*.csv', 'r') as read_obj:
    csv_reader = reader(read_obj)
    list1 = []
    list2 = []
    list3 = []
    for row in csv_reader:
        if len(row) == 3:
            list1.append(row)
        if len(row) == 4:
            list2.append(row)
        if len(row) == 7:
            list3.append(row)
    df1 = pd.DataFrame(list1)
    df2 = pd.DataFrame(list2)
    df3 = pd.DataFrame(list3)
票数 1
EN

Stack Overflow用户

发布于 2020-04-22 11:53:39

您可以使用参数nrows指定要读取的行数,也可以使用skiprows跳过读取pd.read_excel中的某些行

您可以将如下所示的top-table读入到df中:

在这里,您可以跳过包含一些无用标题的第一行,然后读取包含top-table数据的下10行。

代码语言:javascript
运行
AI代码解释
复制
df1 = pd.read_excel('test.xls', skiprows = 1,  nrows= 10, usecols = 'A:D')

然后,另一个df中的second-table如下所示:

在这里,您可以跳过已经在df1中读取的行,并从文件中读取剩余的数据。

代码语言:javascript
运行
AI代码解释
复制
df2 = pd.read_excel('test.xls', skiprows = 6)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61364304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档