如何通过 pandas 从 s3 中提取大型 csv 文件中的分隔符

How to extract the delimiter in large csv file from s3 through pandas

如何通过 python pandas.

从 s3 中提取大型 csv 文件中的分隔符

输入数据-

id|name|age|address

输出结果-

|

尝试过的代码:

from detect_delimiter import detect

s3 = session.client('s3')
file = s3.get_object(Bucket="test", Key="input/csvfolder/test_123456789.csv")
csv_string = file["Body"].read()
df = pd.read_csv(io.BytesIO(csv_string),sep=",",encoding="cp1252",chunksize=1)
print(detect(df))

错误:

AttributeError: 'TextFileReader' object has no attribute 'splitlines'

我认为您不需要完整的文件内容来检测分隔符。 相反,您能否尝试正常读取 csv 文件(没有 pandas)并仅将第一行传递给“检测”。如下所示。

from detect_delimiter import detect
file = open('mycsv.csv', 'r')
print(detect(file.readline()))
file.close()

它输出:

,

因为我的文件是逗号分隔的。