我有一个 csv 文件,该文件在信息之上设置了信息,并且我正在努力将其读入数据框。原始 CSV 看起来像:我希望基本上得到 3 个不同的东西:1)在第一行定义日期和公司名称 2)将汇总表(顶部表)放入数据框中 3)将详细的销售表放入另一个数据框我试过df = pd.read_cs(filepath,error_bad_lines=False)了,它只给了我汇总表,但只有 3 行,因为第一行只有 3 列。关于如何阅读这些文件的任何想法?汇总表的行号不固定(行数不同)。任何帮助将非常感激!谢谢!
2 回答
梵蒂冈之花
TA贡献1900条经验 获得超5个赞
您可以使用参数指定要读取的行数nrows
,也可以使用skiprows
跳过读取某些行pd.read_excel
:
您可以将top-table
以下内容读入df:
在这里,您可以跳过包含一些无用标题的第一行并读取包含顶级表数据的接下来的 10 行。
df1 = pd.read_excel('test.xls', skiprows = 1, nrows= 10, usecols = 'A:D')
然后second-table
在另一个像这样的df中:
在这里,您可以跳过已在 df1 中读取的行,并从文件中读取剩余的数据。
df2 = pd.read_excel('test.xls', skiprows = 6)
鸿蒙传说
TA贡献1865条经验 获得超7个赞
对于那些感兴趣的人,这是我用来解决问题的方法:
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)
添加回答
举报
0/150
提交
取消