如何通过 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()
它输出:
,
因为我的文件是逗号分隔的。
如何通过 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()
它输出:
,
因为我的文件是逗号分隔的。