gpt4 book ai didi

python - Pandas:read_csv(读取单个文件中的多个表)

转载 作者:太空宇宙 更新时间:2023-11-03 10:58:42 24 4
gpt4 key购买 nike

我有一个包含多个 CSV 表格的文件(示例如下)。该文件被上传到数据库。我想对这个文件做一些操作。为此,我正在考虑使用 pandas 使用 read_csv 函数将每个表读入一个单独的数据帧。但是,通过文档,我没有看到指定要读取/解析的行子集的选项。这可能吗?如果没有,还有其他选择吗?

示例文件:

TABLE_1
col1,col2
val1,val2
val3,val4

TABLE_2
col1,col2,col3,col4
val1,val2,val3,val4
...

...

我可以对文件进行初始传递以确定每个表的开始/结束行。但是,read_csv 参数之一是“filepath_or_buffer”,但我不完全确定“缓冲区”部分是什么。它是一个字符串列表还是一个大字符串或其他什么?我可以使用什么作为缓冲区?有人能给我指出一个使用 read_csv 和缓冲区的小例子吗?感谢您的任何想法。

最佳答案

更新:

如果你想跳过特定的行[0,1,5,16,57,58,59],你可以使用skiprows:

df = pd.read_csv(filename, header=None, 
names=['col1','col2','col3'], skiprows=[0,1,5,16,57,58,59])

要跳过前两行并阅读以下 100 行,您可以使用 skiprowsnrows 参数,如评论中提到的@Richard Telford:

df = pd.read_csv(filename, header=None, names=['col1','col2','col3'],
skiprows=2, nrows=100)

这里是“缓冲区”的一个小例子:

import io
import pandas as pd

data = """\
Name
0 JP2015121
1 US14822
2 US14358
3 JP2015539
4 JP2015156
"""
df = pd.read_csv(io.StringIO(data), delim_whitespace=True, index_col=0)
print(df)

同样没有标题:

data = """\
0 JP2015121
1 US14822
2 US14358
3 JP2015539
4 JP2015156
"""
df = pd.read_csv(io.StringIO(data), delim_whitespace=True, index_col=0,
header=None, names=['Name'])

关于python - Pandas:read_csv(读取单个文件中的多个表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36846090/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com