GVKun编程网logo

在Python熊猫中使用多个字符分隔符read_csv(python熊猫代码)

8

此处将为大家介绍关于在Python熊猫中使用多个字符分隔符read_csv的详细内容,并且为您解答有关python熊猫代码的相关问题,此外,我们还将为您介绍关于delphi–如何用多字符分隔符分割字符

此处将为大家介绍关于在Python熊猫中使用多个字符分隔符read_csv的详细内容,并且为您解答有关python熊猫代码的相关问题,此外,我们还将为您介绍关于delphi – 如何用多字符分隔符分割字符串?、Pandas的性能差异read_table,read_csv,from_csv和read_excel?、Python Pandas教程之使用 pandas.read_csv() 读取 csv、Python - CSV 文件中的列包含多个分隔符和结果的有用信息。

本文目录一览:

在Python熊猫中使用多个字符分隔符read_csv(python熊猫代码)

在Python熊猫中使用多个字符分隔符read_csv(python熊猫代码)

似乎pandas read_csv 函数仅允许使用单个字符定界符/分隔符。有没有办法允许使用字符串“ * | *”或“ %%”代替?

答案1

小编典典

解决方案是使用read_table而不是read_csv:

1*|*2*|*3*|*4*|*512*|*12*|*13*|*14*|*1521*|*22*|*23*|*24*|*25

因此,我们可以阅读以下内容:

pd.read_table(''file.csv'', header=None, sep=''\*\|\*'')

delphi – 如何用多字符分隔符分割字符串?

delphi – 如何用多字符分隔符分割字符串?

有没有Delphi函数用多字符分隔符而不是单个字符分割字符串?

例如当我以这种方式使用这个功能:

SplitString('Whale<->Mammal<->Ocean','<->')

我会得到这3个字符串的结果:

'Whale','Mammal','Ocean'

在Delphi中有这样的功能吗?

解决方法

使用TStringList还有一个很简单的解决方案。更改LineBreak:
procedure TForm208.Button1Click(Sender: TObject);
var
  lst: TStringList;
begin
  lst := TStringList.Create;
  try
    lst.LineBreak := '<->';
    lst.Text := 'Whale<->Mammal<->Ocean';
    Memo1.Lines := lst;
  finally
    lst.Free;
  end;
end;

Pandas的性能差异read_table,read_csv,from_csv和read_excel?

Pandas的性能差异read_table,read_csv,from_csv和read_excel?

我倾向于将.csv文件导入熊猫,但有时我可能会获取其他格式的数据来制作DataFrame对象。

今天,我只是发现了有关read_table为其他格式的“通用”的进口商,如果有阅读的.csv文件,例如,在大熊猫的各种方法之间显著的性能差异纳闷read_tablefrom_csvread_excel

  1. 这些其他方法的性能是否比以下更好read_csv
  2. read_csv远远不同的from_csv创建DataFrame

Python  Pandas教程之使用 pandas.read_csv() 读取 csv

Python Pandas教程之使用 pandas.read_csv() 读取 csv

前言:

Python 是一种用于进行数据分析的出色语言,主要是因为以数据为中心的 Python 包的奇妙生态系统。Pandas 就是其中之一,它使导入和分析数据变得更加容易。

大多数用于分析的数据以表格格式的形式提供,例如 Excel 和逗号分隔文件 (CSV)。要访问 csv 文件中的数据,我们需要一个函数 read_csv() 以数据框的形式检索数据。在使用这个功能之前,我们必须导入 pandas 库。

导入 Pandas 库: 

import pandas as pd

read_csv() 函数用于从 csv 文件中检索数据。read_csv() 方法的语法是:

pd.read_csv(filepath_or_buffer, sep='', '', delimiter=None, header=''infer'', names=None, index_col=None, 
             usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, 
             dtype=None, engine=None, converters=None, true_values=None, false_values=None, 
             skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, 
             na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, 
             keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression=''infer'', 
             thousands=None, decimal=b''.'', lineterminator=None, quotechar=''"'', quoting=0, escapechar=None, comment=None, 
             encoding=None, dialect=None, tupleize_cols=None, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, 
             doublequote=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None) 

代码 #1 从 csv 文件中检索数据

# Import pandas
import pandas as pd

# 读取csv文件
pd.read_csv("filename.csv")

这是带有默认值的参数列表。并非所有这些都很重要,但记住这些实际上可以节省自己执行某些功能的时间。通过在 jupyter notebook 中按 shift + tab 可以查看任何函数的参数。

下面给出了有用的和它们的用法:

  • filepath_or_buffer:这是要使用此函数检索的文件的位置。它接受文件的任何字符串路径或 URL。
  • sep:表示分隔符,默认为 '', '',如 csv(逗号分隔值)。
  • header:它接受 int、int 列表、行号用作列名和数据的开头。如果没有传递名称,即header=None,那么它将显示第一列为0,第二列显示为1,以此类推。
  • usecols:用于仅从 csv 文件中检索选定的列。
  • nrows:表示要从数据集中显示的行数。
  • index_col:如果没有,则没有索引号与记录一起显示。  
  • 挤压:如果为真且仅传递一列,则返回熊猫系列。
  • skiprows:跳过新数据框中传递的行。
  • 名称:它允许检索具有新名称的列。
范围Use
filepath_or_buffer文件的 URL 或目录位置
sep代表分隔符,默认为 '', '' 如 csv(逗号分隔值)
index_col将传递的列作为索引而不是 0、1、2、3…r    
header将传递的 row/s[int/int list] 作为标题   
use_cols仅使用传递的 col[string list] 来制作数据框
squeeze如果为 true 且仅传递一列,则返回 pandas 系列
skiprows跳过新数据框中传递的行

Code #2 :

# 导入 Pandas 库
import pandas as pd

pd.read_csv(filepath_or_buffer = "pokemon.csv")

# 使传递的行标题
pd.read_csv("pokemon.csv", header =[1, 2])

# 将传递的列作为索引而不是 0、1、2、3....
pd.read_csv("pokemon.csv", index_col =''Type'')

# 仅将传递的 cols 用于数据框
pd.read_csv("pokemon.csv", usecols =["Type"])

# 如果只有一列,则返回熊猫系列
pd.read_csv("pokemon.csv", usecols =["Type"], squeeze = True)
							
# 跳过新系列中传递的行
pd.read_csv("pokemon.csv", skiprows = [1, 2, 3, 4])

到此这篇关于Python  Pandas教程之使用 pandas.read_csv() 读取 csv的文章就介绍到这了,更多相关Python  pandas.read_csv() 读取 csv内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • python中pandas.read_csv()函数的深入讲解
  • python中csv文件创建、读取及修改等操作实例
  • Python如何读取csv文件时添加表头/列名
  • 一文搞懂Python读取text,CSV,JSON文件的方法
  • python用pd.read_csv()方法来读取csv文件的实现
  • 在python中读取和写入CSV文件详情
  • python读取和保存为excel、csv、txt文件及对DataFrame文件的基本操作指南

Python - CSV 文件中的列包含多个分隔符和结果

Python - CSV 文件中的列包含多个分隔符和结果

如何解决Python - CSV 文件中的列包含多个分隔符和结果?

我有一个相当大的 CSV 文件,其中包含多列(无分隔符)和一列包含使用三个分隔符的结果。

主要分隔符是“;”,用于分隔结果的天数。

第二个分隔符是“:”,它分隔每天的结果(我只使用了 6 个结果中的 2 个)。

第三个分隔符是“/”,用于分隔结果日期和结果的日历值。

我想尽可能避免循环遍历“X&Y”列,因为该列本身包含许多分隔结果,并且有很多行。

Col1 Col2 X&Y
A B 20200331/1D::::1:2;20200401/2D::::3:4;20200402/3D::::5:6
AA BB 20210330/1Y::::11:22;20220330/2Y::::33:44;20230330/3Y::::55:66

我想看:

Col1 Col2 日期 日历值 X Y
A B 20200331 一维 1 2
A B 20200401 二维 3 4
A B 2020040 3D 5 6
AA BB 20210330 1Y 11 22
AA BB 20220330 2Y 33 44
AA BB 20220330 3 年 55 66
import pandas as pd
df = pd.DataFrame({''Col1'':[''A'',''AA''],''Col2'':[''B'',''BB''],''Col3'':[''20200331/1D::::1:2;20200401/2D::::3:4;20200402/3D::::5:6'',''20210330/1Y::::11:22;20220330/2Y::::33:44;20230330/3Y::::55:66'']})

解决方法

这是您可以尝试的解决方案,基于分隔符 (;) 后跟 explode 进行拆分以转换为行。接着是 extract & 最后 concat 帧以获得结果帧。

import pandas as pd
import re

df = pd.DataFrame({''Col1'': [''A'',''AA''],''Col2'': [''B'',''BB''],''Col3'': [''20200331/1D::::1:2;20200401/2D::::3:4;20200402/3D::::5:6'',''20210330/1Y::::11:22;20220330/2Y::::33:44;20230330/3Y::::55:66'']})

df[''Col3''] = df[''Col3''].str.split(";")

# extract features from the string
extract_ = re.compile(r"(?P<Date>\w+)/(?P<CalendarValue>\w+):+(?P<X>.+):(?P<Y>.+)")

pd.concat([
    df.drop(columns=''Col3''),df[''Col3''].explode().str.extract(extract_,expand=True)
],axis=1)

Out[*]:

  Col1 Col2      Date CalendarValue   X   Y
0    A    B  20200331            1D   1   2
0    A    B  20200401            2D   3   4
0    A    B  20200402            3D   5   6
1   AA   BB  20210330            1Y  11  22
1   AA   BB  20220330            2Y  33  44
1   AA   BB  20230330            3Y  55  66

Regex Demo

我们今天的关于在Python熊猫中使用多个字符分隔符read_csvpython熊猫代码的分享就到这里,谢谢您的阅读,如果想了解更多关于delphi – 如何用多字符分隔符分割字符串?、Pandas的性能差异read_table,read_csv,from_csv和read_excel?、Python Pandas教程之使用 pandas.read_csv() 读取 csv、Python - CSV 文件中的列包含多个分隔符和结果的相关信息,可以在本站进行搜索。

本文标签: