gpt4 book ai didi

python pandas read_csv 无法读取字符双引号两次

转载 作者:太空狗 更新时间:2023-10-30 01:33:01 26 4
gpt4 key购买 nike

我正在尝试使用包含双引号半列的半列分隔符的 2 列 csv 文件 (error.csv):

col1;col2
2016-04-17_22:34:25.126;"Linux; Android"
2016-04-17_22:34:25.260;"{"g":2}iPhone; iPhone"

我正在尝试:

logs = pd.read_csv('error.csv', na_values="null", sep=';', 
quotechar='"', quoting=0)

我知道问题出在第 3 行的双引号内有一个双引号“g”,但我不知道如何处理它。有什么想法吗?

最佳答案

您可能需要预处理数据,使其符合预期的 CSV 格式。我怀疑 pandas 仅通过更改一两个参数就能处理这个问题。

如果只有两列,并且第一列从不包含分号,那么您可以在第一个分号处拆分行:

records = []
with open('error.csv', 'r') as fh:
# first row is a header
header = next(fh).strip().split(';')

for rec in fh:
# split only on the first semi-colon
date, dat = rec.strip().split(';', maxsplit=1)
# assemble records, removing quotes from the second column
records.append((date, dat.strip('"')))

# create a data frame
df = pandas.DataFrame.from_records(records, columns=header)

如果您希望第一列包含正确的日期而不是字符串,您将不得不使用 datetime 模块自己手动解析日期。

关于python pandas read_csv 无法读取字符双引号两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36897275/

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