小编Oli*_*ver的帖子

将pandas dataframe列导入为字符串而不是int

我想将以下csv导入为字符串而不是int64.Pandas read_csv自动将其转换为int64,但我需要将此列作为字符串.

ID
00013007854817840016671868
00013007854817840016749251
00013007854817840016754630
00013007854817840016781876
00013007854817840017028824
00013007854817840017963235
00013007854817840018860166


df = read_csv('sample.csv')

df.ID
>>

0   -9223372036854775808
1   -9223372036854775808
2   -9223372036854775808
3   -9223372036854775808
4   -9223372036854775808
5   -9223372036854775808
6   -9223372036854775808
Name: ID
Run Code Online (Sandbox Code Playgroud)

不幸的是使用转换器会产生相同的结

df = read_csv('sample.csv', converters={'ID': str})
df.ID
>>

0   -9223372036854775808
1   -9223372036854775808
2   -9223372036854775808
3   -9223372036854775808
4   -9223372036854775808
5   -9223372036854775808
6   -9223372036854775808
Name: ID
Run Code Online (Sandbox Code Playgroud)

python pandas

77
推荐指数
3
解决办法
10万
查看次数

在pandas read_csv中转义引号

我无法创建使用时已转义引号的数据框read_csv.
(注意:R的read.csv工作正常.)

我的代码:

import pandas as pd
pd.read_csv('data.csv')
#error!
CParserError: Error tokenizing data. C error: Expected 2 fields in line 4, saw 3
Run Code Online (Sandbox Code Playgroud)

data.csv

SEARCH_TERM,ACTUAL_URL
"bra tv bord","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
"tv på hjul","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
"SLAGBORD, \"Bergslagen\", IKEA:s 1700-tals serie","http://www.ikea.com/se/sv/catalog/categories/departments/living_room/10475/?se%7cps%7cnonbranded%7cvardagsrum%7cgoogle%7ctv_bord"
Run Code Online (Sandbox Code Playgroud)

如何阅读此csv并避免此错误?

我的猜测是,大熊猫正在使用一些正则表达式,这些表达式无法处理第三行的歧义和绊倒,或者更具体地说:\"Bergslagen\".

python csv pandas

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

pandas ×2

python ×2

csv ×1