如何从 pandas dataframe 中的字符串读取 csv 文件
您可以使用以下基本语法从 pandas DataFrame 中的字符串读取 CSV 文件:
import pandas as pd import io df = pd. read_csv ( io.StringIO (some_string), sep=" , ")
以下示例展示了如何在实践中使用此语法。
示例 1:从以逗号作为分隔符的字符串中读取 CSV 文件
以下代码展示了如何将 CSV 文件从字符串(以逗号作为分隔符)读取到 pandas DataFrame 中:
import pandas as pd import io some_string="""team,points,rebounds A,22,10 B,14.9 C,29.6 D,30.2 E,22.9 F,31.10""" #read CSV string into pandas DataFrame df = pd. read_csv ( io.StringIO (some_string), sep=" , ") #view resulting DataFrame print (df) team points rebounds 0 to 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
生成的 pandas DataFrame 包含 CSV 字符串中的值。
示例 2:从以分号作为分隔符的字符串中读取 CSV 文件
以下代码展示了如何将 CSV 文件从字符串(以分号作为分隔符)读取到 pandas DataFrame 中:
import pandas as pd import io some_string="""team;points;rebounds A;22;10 B;14;9 C;29;6 D;30;2 E;22;9 F;31;10""" #read CSV string into pandas DataFrame df = pd. read_csv ( io.StringIO (some_string), sep=" ; ") #view resulting DataFrame print (df) team points rebounds 0 to 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
生成的 pandas DataFrame 包含 CSV 字符串中的值。
示例 3:从无头字符串读取 CSV 文件
以下代码展示了如何将 CSV 文件从字符串(没有标题行)读取到 pandas DataFrame 中:
import pandas as pd import io some_string="""A;22;10 B;14;9 C;29;6 D;30;2 E;22;9 F;31;10""" #read CSV string into pandas DataFrame df = pd. read_csv (io. StringIO (some_string), sep=" ; ", header= None ) #view resulting DataFrame print (df) 0 1 2 0 to 22 10 1 B 14 9 2 C 29 6 3 D 30 2 4 E 22 9 5 F 31 10
通过使用header=None参数,我们告诉 pandas 不要使用第一行作为标题行。
默认情况下,pandas 使用一系列数值(0、1、2)作为 DataFrame 的列名称。
注意:您可以在此处找到 pandas read_csv()函数的完整文档。
其他资源
以下教程解释了如何在 Python 中执行其他常见任务:
Pandas:如何在读取 CSV 文件时跳行
Pandas:如何将数据添加到现有 CSV 文件
Pandas:如何读取没有标题的 CSV 文件
Pandas:导入 CSV 文件时设置列名称